JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle VM Server for SPARC 2.2 管理指南     Oracle VM Server for SPARC (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分Oracle VM Server for SPARC 2.2 软件

1.  Oracle VM Server for SPARC 软件概述

2.  安装和启用软件

3.  Oracle VM Server for SPARC 安全

4.  设置服务和控制域

5.  设置来宾域

6.  设置 I/O 域

7.  使用虚拟磁盘

8.  使用虚拟网络

9.  迁移域

10.  管理资源

11.  管理域配置

12.  执行其他管理任务

第 2 部分可选的 Oracle VM Server for SPARC 软件

13.  Oracle VM Server for SPARC 物理机到虚拟机转换工具

14.  Oracle VM Server for SPARC Configuration Assistant (Oracle Solaris 10)

15.  使用 Oracle VM Server for SPARC 管理信息库软件

16.  Logical Domains Manager 发现

发现运行 Logical Domains Manager 的系统

多播通信

消息格式

如何发现在子网上运行的 Logical Domains Manager

17.  将 XML 接口与 Logical Domains Manager 结合使用

词汇表

索引

发现运行 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;

如何发现在子网上运行的 Logical Domains Manager

  1. 打开多播套接字。

    确保您使用的是多播通信中指定的端口和组信息。

  2. 通过套接字发送 multicast_msg_t 消息。

    此消息应包含以下内容:

    • version_no 的有效值,由 MAC_MULTI_VERSION 定义,其值为 1

    • magic_no 的有效值,由 MAC_MULTI_MAGIC_NO 定义,其值为 92792004

    • LDMD_DISC_SENDmsg_type

  3. 侦听多播套接字,以获取来自 Logical Domains Manager 的响应。

    这些响应必须是包含以下内容的 multicast_msg_t 消息:

    • version_no 的有效值

    • magic_no 的有效值

    • 已设置为 LDMD_DISC_RESPmsg_type

    • 有效荷载包含 ldmd_discovery_t 结构,其中包含以下信息:

      • ldmd_version在系统上运行的 Logical Domains Manager 的版本

      • hostname系统的主机名称

      • ip_address系统的 IP 地址

      • port_noLogical Domains Manager 用于通信的端口号,应该是 XMPP 端口 6482

    当侦听来自 Logical Domains Manager 的响应时,请确保已放弃任何自动分配 MAC 冲突检测包。