[ovs-dev] [PATCH v2] IGMPv3 support

Thadeu Lima de Souza Cascardo cascardo at redhat.com
Tue Jun 16 15:38:06 UTC 2015


On Tue, Jun 16, 2015 at 08:16:33AM -0700, Ben Pfaff wrote:
> On Mon, Jun 08, 2015 at 01:05:41PM -0300, Thadeu Lima de Souza Cascardo wrote:
> > Support IGMPv3 messages with multiple records. Make sure all IGMPv3
> > messages go through slow path, since they may carry multiple multicast
> > addresses, unlike IGMPv2.
> > 
> > Tests done:
> > 
> > * multiple addresses in IGMPv3 report are inserted in mdb;
> > * address is removed from IGMPv3 if record is INCLUDE_MODE;
> > * reports sent on a burst with same flow all go to userspace;
> > * IGMPv3 reports go to mrouters, i.e., ports that have issued a query.
> > 
> > Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at redhat.com>
> 
> Thanks!  I have a few comments.
> 
> I am surprised that igmpv3_header in packets.h is marked OVS_PACKED,
> because it looks like all of the fields are naturally aligned.  Does
> this structure need to be packed?
> 
> Similarly for igmpv3_record.  However, in this struct I would also
> change 'maddr' from ovs_be32 to ovs_16aligned_be32, because there are
> situations where packet headers can be aligned on an odd 16-bit boundary
> and using ovs_16aligned_be32 makes it easier to handle that safely on
> RISC architectures.

That was me basing my first version of the code on LACP. I was about to
test my v3, I will take the chance and apply your suggestions before I
test and resubmit.

Thanks.
Cascardo.



More information about the dev mailing list