Ignorer les liens de navigation
Quitter l'aperu
| Guide d'administration d'Oracle VM Server for SPARC 3.0 Oracle VM Server for SPARC (Français)

Périmètre de la recherche:

- Ce document
- Toute la bibliothque

## Recherche des systèmes exécutant Logical Domains Manager

### Communication en multidiffusion

Ce mécanisme de découverte utilise le même réseau de multidiffusion que celui utilisée par le démon `ldmd` pour détecter les collisions lors de l'adressage automatique des adresses MAC. Pour configurer le socket de multidiffusion, vous devez fournir les informations suivantes :

    #define    MAC_MULTI_PORT        64535
    #define    MAC_MULTI_GROUP        "239.129.9.27"

Par défaut, seuls les paquets de multidiffusion peuvent être envoyés sur le sous-réseau auquel la machine est connectée. Vous pouvez modifier ce comportement en définissant la propriété SMF `ldmd/hops` pour le démon `ldmd`.

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

## Procédure de découverte d'instances de Logical Domains Manager s'exécutant sur votre sous-réseau

1. Ouvrez un socket de multidiffusion.

   Vérifiez que vous utilisez le port et les informations de groupe indiquées dans Communication en multidiffusion.

2. Envoyez un message `multicast_msg_t` sur le socket.

   Le message doit inclure les éléments suivants :

   - Une valeur valide pour `version_no`, qui est `1` comme défini par `MAC_MULTI_VERSION`

   - Une valeur valide pour `magic_no`, qui est `92792004` comme défini par `MAC_MULTI_MAGIC_NO`

   - `msg_type` de `LDMD_DISC_SEND`

3. Ecoutez sur le socket de multidiffusion les réponses de Logical Domains Manager.

   Les réponses doivent être un message `multicast_msg_t` avec les éléments suivants :

   - Valeur valide pour `version_no`

   - Valeur valide pour `magic_no`

   - `msg_type` défini sur `LDMD_DISC_RESP`

   - Charge utile composée d'une structure `ldmd_discovery_t`, qui contient les informations suivantes :

     - `ldmd_version` - Version de Logical Domains Manager s'exécutant sur le système

     - `hostname` – Nom d'hôte du système

     - `ip_address` – Adresse IP du système

     - `port_no` – Numéro de port utilisé par Logical Domains Manager pour les communications, qui doit être le port XMPP `6482`

   Lors de l'écoute d'une réponse de Logical Domains Manager, vérifiez que tous les paquets de détection-collision MAC d'allocation automatique sont ignorés.

Copyright © 2007, 2013, Oracle et/ou ses affiliés. Tous droits réservés. Notice légale |