OVH Cloud OVH Cloud

impact du SO_BROADCAST sur les adresses non broadcast

1 réponse
Avatar
anto
Bonjour,

Quelqu'un connait-il l'impact de positionner le flag "SO_BROADCAST" sur un
socket qui envoie sur des addresses non broadcast (mais qui peuvent aussi
l'être d'ou l'intérêt de quand même posotionner ce flag).

Ca marche mais y a-t-il un cout spécial ?

Merci.

1 réponse

Avatar
Nicolas George
anto wrote in message :
Quelqu'un connait-il l'impact de positionner le flag "SO_BROADCAST" sur un
socket qui envoie sur des addresses non broadcast (mais qui peuvent aussi
l'être d'ou l'intérêt de quand même posotionner ce flag).


Sauf erreur de ma part, SO_BROADCAST sert uniquement à éviter qu'une socket
ne se mette à faire du broadcast à la suite d'une erreur de manipulation. On
le voit bien dans le noyau Linux par exemple :

case SO_BROADCAST:
sock_valbool_flag(sk, SOCK_BROADCAST, valbool);
break;
(net/core/sock.c)

err = -EACCES;
if ((rt->rt_flags & RTCF_BROADCAST) &&
!sock_flag(sk, SOCK_BROADCAST))
goto out;
(net/ipv4/udp.c)

Donc activer l'option a exactement le coût de l'appel setsockopt, et rien de
plus.