Accéder au contenu.
Menu Sympa

technique - Re: [TECH] Programmation socket, AF_INET, bind, udp

Objet : Liste pour les discussions techniques (liste à inscription publique)

Archives de la liste

Re: [TECH] Programmation socket, AF_INET, bind, udp


Chronologique Discussions 
  • From: Mathieu Ignacio <mignacio AT april.org>
  • To: Liste de diffusion technique <technique AT april.org>
  • Subject: Re: [TECH] Programmation socket, AF_INET, bind, udp
  • Date: Sat, 08 Nov 2008 18:07:41 +0100

Mathieu Ignacio wrote:
J'ai donc essayé d'utiliser une socket PF_PACKET, et je n'ai aucun problème lorsque l'interface est monté, mais mon recv/recvfrom me renvoit une erreur "Network is down" si l'interface est down. Quelqu'un a-t-il un pointeur sur une doc qui pourrait m'aider à résoudre ce problème ? J'ai bien essayé de récupérer les bouts de code C de pump et udhcpc pour faire qlq tests, mais je ne code plus des masses en C depuis quelques années (python forever !), et le remplissage des structures sockets me pose bien des problèmes.

Merci pour tout.
a+.


Bon, je vais me répondre un peu à moi-même car ça intéresse peut-être d'autres personnes.

Après avoir potassé tout un tas de client DHCP en C et avoir demandé à droite à gauche, je me suis aperçu que j'avais loupé un détail. A force de monter des interfaces avec des IP, j'avais complètement associé de mettre une IP à une interface et son montage donc pour moi UP était égal IP+montage.
Que nenni !
Un bête "ifconfig eth0 up" permet de monter l'interface réseau sans avoir aucune IP associé à cette interface, ça ne pose non seulement aucun problème mais c'est même la seule manière de procéder pour faire un client dhcp (mon but).

Une fois que j'ai compris ça, j'ai regardé les sources d'une manière différente et la fonction qui permet de mettre UP une interface est ioctl sur la socket avec l'option SIOCSIFFLAGS.

Pour la réponse précise à la question initiale, il ne me reste plus qu'a expérimenter.

a+.
Et merci pour vos réponses.

--
Mathieu
http://matou.isanerd.net/





Archives gérées par MHonArc 2.6.16.

Haut de le page