Modification des Interface-Specific et des informations globales pour les clients
Pour modifier les informations d’interface d’un client spécifique, par exemple NAT, utilisez d’abord la fonction « GetInfo » appropriée pour récupérer les informations actuelles. Si le routeur est en cours d’exécution, utilisez MprAdminInterfaceTransportGetInfo. Si le routeur n’est pas en cours d’exécution, utilisez MprConfigInterfaceTransportGetInfo. Cet appel récupère les informations de tous les clients en cours d’exécution sur l’interface spécifiée. Par exemple, si OSPF et RIP s’exécutent sur une interface particulière, cet appel récupère les informations d’interface pour les deux. Utilisez la fonction MprInfoBlockFind pour localiser le bloc d’informations qui correspond au client que vous souhaitez modifier. Utilisez ensuite la fonction MprInfoBlockSet pour effectuer les modifications. Enfin, utilisez MprAdminInterfaceTransportSetInfo ou MprConfigInterfaceSetInfo pour apporter les modifications au routeur en cours d’exécution ou à la configuration du routeur dans le Registre.
Les informations client globales sont des informations qui ne sont pas spécifiques à une interface particulière sur laquelle le client s’exécute. Utilisez une procédure similaire pour modifier les informations globales d’un client spécifique. Commencez par récupérer les informations globales pour tous les clients à l’aide de MprAdminTransportGetInfo ou MprConfigTransportGetInfo. Utilisez ensuite les fonctions MprInfo pour modifier les informations. Enfin, utilisez les fonctions MprAdminTransportSetInfo ou MprConfigTransportSetInfo pour enregistrer les informations modifiées dans le routeur en cours d’exécution ou dans le Registre.
Les appels aux fonctions d’administration précédentes passent par le gestionnaire d’interface dynamique (DIM) et se traduisent par des appels du gestionnaire de routeur aux clients eux-mêmes. Tous les clients, qu’ils soient ou non des protocoles de routage, doivent être conformes à l’interface décrite dans la section Router Protocol Interface. Dans le cadre de cette interface, le protocole de routage doit prendre en charge les fonctions suivantes (entre autres) :
Le gestionnaire de routeur appelle les fonctions GetInterfaceInfo pour chacun des clients afin de collecter les informations retournées à partir d’un appel à MprAdminInterfaceTransportGetInfo. De même, lorsque le gestionnaire de routeur reçoit des informations mises à jour via un appel MprAdminInterfaceTransportSetInfo , il utilise les fonctions SetInterfaceInfo pour mettre à jour les informations d’interface pour chacun des clients.