[ovs-dev] [PATCH v4 0/3] OVN: Add IGMP support
Dumitru Ceara
dceara at redhat.com
Mon Jul 15 20:24:26 UTC 2019
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 | 7
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 | 28 +
ovn/controller/pinctrl.c | 785 +++++++++++++++++++++++++++++++++++++++
ovn/controller/pinctrl.h | 2
ovn/lib/actions.c | 16 +
ovn/lib/automake.mk | 4
ovn/lib/ip-mcast-index.c | 40 ++
ovn/lib/ip-mcast-index.h | 36 ++
ovn/lib/logical-fields.c | 2
ovn/lib/mcast-group-index.c | 43 ++
ovn/lib/mcast-group-index.h | 32 ++
ovn/northd/ovn-northd.c | 548 +++++++++++++++++++++++++--
ovn/ovn-nb.xml | 54 +++
ovn/ovn-sb.ovsschema | 44 ++
ovn/ovn-sb.xml | 80 ++++
ovn/utilities/ovn-sbctl.c | 53 +++
ovn/utilities/ovn-trace.c | 4
tests/ovn.at | 274 ++++++++++++++
tests/system-ovn.at | 119 ++++++
24 files changed, 2404 insertions(+), 48 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
create mode 100644 ovn/lib/mcast-group-index.c
create mode 100644 ovn/lib/mcast-group-index.h
---
v4:
- fix multicast_group tunnel key allocation so that the old group keys
from the SB database are reused
- add mcast-group-index.[ch] to avoid code duplication between ovn-northd
and ovn-controller
v3:
- add acks from Mark Michelson
- fix action "igmp": no need for nested actions
- fix overlap between unknown multicast tunnel key and IP multicast tunnel
keys
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.
More information about the dev
mailing list