跳过导航链接 | |
退出打印视图 | |
Oracle VM Server for SPARC 3.0 管理指南 Oracle VM Server for SPARC (简体中文) |
第 1 部分Oracle VM Server for SPARC 3.0 软件
1. Oracle VM Server for SPARC 软件概述
3. Oracle VM Server for SPARC 安全
第 2 部分可选的 Oracle VM Server for SPARC 软件
13. Oracle VM Server for SPARC 物理机到虚拟机转换工具
14. Oracle VM Server for SPARC Configuration Assistant (Oracle Solaris 10)
16. 使用 Oracle VM Server for SPARC 管理信息库软件
17. 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;
确保您使用的是多播通信中指定的端口和组信息。
此消息应包含以下内容:
version_no 的有效值,由 MAC_MULTI_VERSION 定义,其值为 1。
magic_no 的有效值,由 MAC_MULTI_MAGIC_NO 定义,其值为 92792004。
LDMD_DISC_SEND 的 msg_type
这些响应必须是包含以下内容的 multicast_msg_t 消息:
version_no 的有效值
magic_no 的有效值
已设置为 LDMD_DISC_RESP 的 msg_type
有效荷载包含 ldmd_discovery_t 结构,其中包含以下信息:
ldmd_version-在系统上运行的 Logical Domains Manager 的版本
hostname-系统的主机名称
ip_address-系统的 IP 地址
port_no-Logical Domains Manager 用于通信的端口号,应该是 XMPP 端口 6482
当侦听来自 Logical Domains Manager 的响应时,请确保已放弃任何自动分配 MAC 冲突检测包。