Je vais effectivement approfondir tout ça. Ceci dit je suis certain du fait que j'envoie en sous-nombre mes paquets. Je peux le vérifier à la fois avec ifconfig qui donne le nombre de paquets envoyé sur chaque interface ainsi qu'avec Wireshark (que j'utilise depuis un moment également) qui me donne à chaque fois exactement le même nombre.
Autant pour moi j'ai lu trop vite. J'ai testé avec connect()/write() mais j'arrive exactement au même résultat. En fouillant sur le net, j'ai vu qu'il s'agissait d'un problème un peu connu : http://linux.die.net/man/8/fprobe-ulog (section bug).
C'est bien possible mais write ne semble fonctionner que si ma socket est connectée, ce qui ne peut être le cas puisque j'utilise des sockets RAW, je ne peux donc pas utiliser la fonction connect().
J'ai l'impression qu'il ne prévient pas puisque je n'ai aucune erreur de retour de sendto. À mon avis, le kernel drop en silence les paquets et je ne sais pas que faire pour éviter ça
[^] # Re: Tester le code retour de sendto?
Posté par Worms . En réponse au message sendto ne fait pas complètement son boulot. Évalué à 6.
Je viens à l'instant de trouver avec un collègue en remontant les sources du noyau : il fallait changer une option à l'aide de setsockopt :
int on = 1;
setsockopt(mysock, SOL_IP, IP_RECVERR, &on, sizeof(on))
[^] # Re: Tester le code retour de sendto?
Posté par Worms . En réponse au message sendto ne fait pas complètement son boulot. Évalué à 1.
Je vais effectivement approfondir tout ça. Ceci dit je suis certain du fait que j'envoie en sous-nombre mes paquets. Je peux le vérifier à la fois avec ifconfig qui donne le nombre de paquets envoyé sur chaque interface ainsi qu'avec Wireshark (que j'utilise depuis un moment également) qui me donne à chaque fois exactement le même nombre.
[^] # Re: Tester le code retour de sendto?
Posté par Worms . En réponse au message sendto ne fait pas complètement son boulot. Évalué à 2.
Autant pour moi j'ai lu trop vite. J'ai testé avec connect()/write() mais j'arrive exactement au même résultat. En fouillant sur le net, j'ai vu qu'il s'agissait d'un problème un peu connu : http://linux.die.net/man/8/fprobe-ulog (section bug).
[^] # Re: Tester le code retour de sendto?
Posté par Worms . En réponse au message sendto ne fait pas complètement son boulot. Évalué à 1.
C'est bien possible mais write ne semble fonctionner que si ma socket est connectée, ce qui ne peut être le cas puisque j'utilise des sockets RAW, je ne peux donc pas utiliser la fonction connect().
[^] # Re: Tester le code retour de sendto?
Posté par Worms . En réponse au message sendto ne fait pas complètement son boulot. Évalué à 1.
Comment ça ? Je vois pas où tu veux en venir
[^] # Re: Tester le code retour de sendto?
Posté par Worms . En réponse au message sendto ne fait pas complètement son boulot. Évalué à 0.
J'ai l'impression qu'il ne prévient pas puisque je n'ai aucune erreur de retour de sendto. À mon avis, le kernel drop en silence les paquets et je ne sais pas que faire pour éviter ça