• [^] # Re: Où est le problème ?

    Posté par . En réponse au journal Quelle distribution restera dans l'esprit UNIX?. Évalué à 3.

    Il n'y a pas d'ioctl non dépréciés, seulement des socket netlink(7).

    Et sinon, ifconfig sert principalement à deux choses: afficher des informations sur les interfaces, et modifier la configuration IP. Et faire l'un ou l'autre de manière tronquée n'est pas vraiment une bonne idée.

    Par exemple, ifconfig ne supporte pas plusieurs addresse par interface réseau sans passer par des alias moches, n'affiche pas les flags sur ces addresses et n'affiche pas d'information sur les queues utilisées. Ça veut dire que si un autre programme (ou le noyau) rajoute ou se sert de ces fonctionnalités derrière ton dos, tu n'en saura rien. C'est criant en IPv6 : l'autoconfiguration est implémentée par le noyau, donc tu à peut être envie de savoir pendant combien de temps tes addresses IPv6 sont valides pour ton interface.

    Ensuite, pour la modification de la configuration, ça pose aussi des problèmes, par exemple, est ce que ifconfig doit virer tout les flags si tu change une addresse IP? Certains de ces flags peuvent faire mal si on ne les voit pas.

    Dans ifconfig, il y a aussi des options de configuration bas-niveau (du genre IRQ, addresse io de base et autres) qui n'avaient rien à faire là et dont aujourd'hui plus personne n'en à rien à faire.

    Avec la commande route (remplacée aussi par ip), c'est encore pire, puisque il y a bien plus de fonctionnalités ajoutées qui peuvent faire la différence entre un réseau qui marche et un réseau qui marche pas.

    Enfin bref, si on veut un ifconfig amélioré qui n'utilise plus d'ioctl, on utilise ip