This series introduces support for IGMP Snooping and IGMP Querier. IGMP versions v1-v3 are supported for snooping and IGMP queries originated by ovn-controller are general IGMPv3 queries. The rationale behind using v3 for querier is that it's backward compatible with v1-v2.
The majority of the code is IP version independent with the thought in mind that support for MLD snooping for IPv6 will be added next. Dumitru Ceara (3): packets: Add IGMPv3 query packet definitions OVN: Add IGMP SB definitions and ovn-controller support OVN: Add ovn-northd IGMP support include/ovn/actions.h | 6 lib/packets.c | 44 ++ lib/packets.h | 19 + ovn/controller/automake.mk | 2 ovn/controller/ip-mcast.c | 164 ++++++++ ovn/controller/ip-mcast.h | 52 +++ ovn/controller/ovn-controller.c | 23 + ovn/controller/pinctrl.c | 787 +++++++++++++++++++++++++++++++++++++++ ovn/controller/pinctrl.h | 2 ovn/lib/actions.c | 22 + ovn/lib/automake.mk | 2 ovn/lib/ip-mcast-index.c | 40 ++ ovn/lib/ip-mcast-index.h | 38 ++ ovn/lib/logical-fields.c | 2 ovn/northd/ovn-northd.c | 454 +++++++++++++++++++++- ovn/ovn-nb.xml | 54 +++ ovn/ovn-sb.ovsschema | 43 ++ ovn/ovn-sb.xml | 80 ++++ ovn/utilities/ovn-sbctl.c | 53 +++ ovn/utilities/ovn-trace.c | 14 + tests/ovn.at | 276 ++++++++++++++ tests/system-ovn.at | 119 ++++++ 22 files changed, 2260 insertions(+), 36 deletions(-) create mode 100644 ovn/controller/ip-mcast.c create mode 100644 ovn/controller/ip-mcast.h create mode 100644 ovn/lib/ip-mcast-index.c create mode 100644 ovn/lib/ip-mcast-index.h --- v2: - address reviewer comments. - fix a memory corruption when reallocating multicast ports in ovn_multicast_add_ports. - add missing NULL checks in pinctrl.c for the case when a logical switch configuration gets deleted by ovn-northd and controllers are updating IGMP_Group entries. - Fix allocation of multicast group IDs in ovn-northd. The multicast group IDs were allocated globally instead of per-datapath which was limiting the total number of IGMP Groups. At most 32K IGMP groups can be learned per datapath regardless of how many datapaths are configured. - add system-ovn.at test. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev