On Monday 07 September 2009 11:07:36 Christian Perle wrote:
> On Mon, Sep 07, 2009 at 10:16:06 +0200, Konrad Rosenbaum wrote:
> > setsockopt mit SO_REUSEADDR scheint nicht zu helfen - beim bind kommt
> > trotzdem ein Fehler, dass der Port schon benutzt wird.
>
> Disclaimer: Ich habe wenig Ahnung von Multicasting.

Ist nicht schlimm.

> QEMU kann unter anderem Multicasting benutzen, um mehrere QEMU-Instanzen
> (auch lokal auf dem gleichen Host) miteinander zu vernetzen. Mit netstat
> sehe ich, dass sich zwei QEMUs an die gleiche Multicast-Adresse und an
> den gleichen UDP-Port binden. Dabei wird anscheinend die Socket-Option
> IP_MULTICAST_LOOP benutzt, um lokal generierten Traffic auch wieder
> lokal zu sehen.

Das hat mir zumindest gezeigt, dass es gehen muss.

Die Lösung ist ganz einfach: wenn man eine IPv6 Socket öffnet nimmt diese 
zunächst mal an, dass sie im Notfall auch IPv4 bedienen können muss. 
SO_REUSEADDR wirkt anscheinend aber nur auf das native Socket-Protokoll. Man 
muss also zusätzlich die Socket überzeugen, dass sie nur IPv6 macht 
(setsockopt mit IPPROTO_IPV6,IPV6_V6ONLY).



        Konrad

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an