Guide d'administration d'Oracle® VM Server for SPARC 3.3

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Format du message

Les messages de recherche doivent être clairement identifiés afin de ne pas être confondus avec d'autres messages. Le format de message de multidiffusion suivant garantit que les messages de recherche peuvent être distingués par le processus d'écoute de recherche :

#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;