Service de noyau rtrequest
Objectif
Effectue une demande de modification de la table de routage.
Syntaxe
Paramètres
| Article | Descriptif |
|---|---|
| Req | Indique une demande d'ajout ou de suppression d'une route. |
| Dst | Indique la partie de destination de la route. |
| gateway | Indique la partie passerelle de la route. |
| netmask | Indique le masque de réseau à appliquer à la route. |
| Flags | Identifie les indicateurs de routage, comme défini dans le fichier /usr/include/net/route.h . |
| Ret_nrt | Indique de renvoyer la route résultante. |
Descriptif
Le service de noyau Rtrequête effectue une demande de modification de la table de routage. Les interfaces appellent le service Rtrequête lors de l'amorçage afin de faire connaître leurs routes locales pour les opérations ioctl de la table de routage. Les interfaces appellent également le service Rtrequête à la suite des redirections de routage. La demande doit être ajoutée (si le paramètre Req a la valeur RMT_ADD) ou supprimer (le paramètre Req est une valeur de RMT_DELETE).
Environnement d'exécution
Le service de noyau Rtrequête peut être appelé à partir de l'environnement Processus ou Interruption .
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| 0 % | Indique une opération réussie. |
| ESRCH | Indique que la route n'était pas à supprimer. |
| EEXISTE | Indique que l'entrée que le service Rtrequête a tenté d'ajouter existe déjà. |
| ENETUNREACH | Indique que le service Rtrequête ne trouve pas l'interface de la route. |
| ENOBUFS | Indique que le service Rtrequête ne peut pas obtenir une structure Mbuf pour ajouter une entrée. |
Exemple
Pour effectuer une demande de modification de la table de routage, appelez le service de noyau Rtrequête comme suit:
rtrequest(RTM_ADD, dst, gateway, netmask, flags, &rtp);