跳过导航链接
退出打印视图
| Oracle VM Server for SPARC 2.0 管理指南

搜索范围:

- 本文档
- 整个文档库

### 发现运行 Logical Domains Manager 的系统

#### 多播通信

此发现机制使用 `ldmd` 守护进程所使用的多播网络，以检测自动分配 MAC 地址时所产生的冲突。要配置多播套接字，必须提供以下信息：

    #define    MAC_MULTI_PORT        64535
    #define    MAC_MULTI_GROUP        "239.129.9.27"

默认情况下，在计算机已连接到的子网上只能发送多播包。可以通过设置 `ldmd` 守护进程的 `ldmd/hops` SMF 属性来更改以上行为。

#### 消息格式

发现消息必须清晰标记，才能与其他消息区分开。以下多播消息格式确保发现侦听进程可以区分发现消息：

    #include <netdb.h> /* Used for MAXHOSTNAMELEN definition */
    #define    MAC_MULTI_MAGIC_NO    92792004
    #define    MAC_MULTI_VERSION    1

    enum {
        SEND_MSG = 0,
        RESPONSE_MSG,
        LDMD_DISC_SEND,
        LDMD_DISC_RESP,
    };

    typedef struct {
        uint32_t    version_no;
        uint32_t    magic_no;
        uint32_t    msg_type;
        uint32_t    resv;
        union {
            mac_lookup_t        Mac_lookup;
            ldmd_discovery_t    Ldmd_discovery;
        } payload;
    #define    lookup        payload.Mac_lookup
    #define    discovery    payload.Ldmd_discovery
    } multicast_msg_t;

    #define    LDMD_VERSION_LEN    32

    typedef struct {
        uint64_t mac_addr;
        char        source_ip[INET_ADDRSTRLEN];
    } mac_lookup_t;

    typedef struct {
        char        ldmd_version[LDMD_VERSION_LEN];
        char        hostname[MAXHOSTNAMELEN];
        struct in_addr    ip_address;
        int        port_no;
    } ldmd_discovery_t;

版权所有 © 2007, 2010, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |