[ovs-git] [openvswitch/ovs] 1db444: packets: Add IGMPv3 query packet definitions
Dumitru Ceara
noreply at github.com
Tue Jul 16 21:47:42 UTC 2019
Branch: refs/heads/master
Home: https://github.com/openvswitch/ovs
Commit: 1db444539537f3ac776bec8d7752ac8306abb7d6
https://github.com/openvswitch/ovs/commit/1db444539537f3ac776bec8d7752ac8306abb7d6
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M lib/packets.c
M lib/packets.h
Log Message:
-----------
packets: Add IGMPv3 query packet definitions
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
Commit: c89f5f171a0a189137af46c9cf7f132e27a48ca9
https://github.com/openvswitch/ovs/commit/c89f5f171a0a189137af46c9cf7f132e27a48ca9
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M include/ovn/actions.h
M ovn/controller/automake.mk
A ovn/controller/ip-mcast.c
A ovn/controller/ip-mcast.h
M ovn/controller/ovn-controller.c
M ovn/controller/pinctrl.c
M ovn/controller/pinctrl.h
M ovn/lib/actions.c
M ovn/lib/automake.mk
A ovn/lib/ip-mcast-index.c
A ovn/lib/ip-mcast-index.h
M ovn/lib/logical-fields.c
M ovn/ovn-sb.ovsschema
M ovn/ovn-sb.xml
M ovn/utilities/ovn-sbctl.c
M ovn/utilities/ovn-trace.c
M tests/ovn.at
Log Message:
-----------
OVN: Add IGMP SB definitions and ovn-controller support
A new IP_Multicast table is added to Southbound DB. This table stores the
multicast related configuration for each datapath. Each row will be
populated by ovn-northd and will control:
- if IGMP Snooping is enabled or not, the snooping table size and multicast
group idle timeout.
- if IGMP Querier is enabled or not (only if snooping is enabled too), query
interval, query source addresses (Ethernet and IP) and the max-response
field to be stored in outgoing queries.
- an additional "seq_no" column is added such that ovn-sbctl or if needed a
CMS can flush currently learned groups. This can be achieved by incrementing
the "seq_no" value.
A new IGMP_Group table is added to Southbound DB. This table stores all the
multicast groups learned by ovn-controllers. The table is indexed by
datapath, group address and chassis. For a learned multicast group on a
specific datapath each ovn-controller will store its own row in this table.
Each row contains the list of chassis-local ports on which the group was
learned. Rows in the IGMP_Group table are updated or deleted only by the
ovn-controllers that created them.
A new action ("igmp") is added to punt IGMP packets on a specific logical
switch datapath to ovn-controller if IGMP snooping is enabled.
Per datapath IGMP multicast snooping support is added to pinctrl:
- incoming IGMP reports are processed and multicast groups are maintained
(using the OVS mcast-snooping library).
- each OVN controller syncs its in-memory IGMP groups to the Southbound DB
in the IGMP_Group table.
- pinctrl also sends periodic IGMPv3 general queries for all datapaths where
querier is enabled.
Signed-off-by: Mark Michelson <mmichels at redhat.com>
Co-authored-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
Commit: 605535f9adf2e881aa6242b19bcec0c90ba8ad96
https://github.com/openvswitch/ovs/commit/605535f9adf2e881aa6242b19bcec0c90ba8ad96
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2019-07-16 (Tue, 16 Jul 2019)
Changed paths:
M ovn/controller/ovn-controller.c
M ovn/controller/pinctrl.c
M ovn/lib/automake.mk
M ovn/lib/ip-mcast-index.h
A ovn/lib/mcast-group-index.c
A ovn/lib/mcast-group-index.h
M ovn/northd/ovn-northd.c
M ovn/ovn-nb.xml
M tests/ovn.at
M tests/system-ovn.at
Log Message:
-----------
OVN: Add ovn-northd IGMP support
New IP Multicast Snooping Options are added to the Northbound DB
Logical_Switch:other_config column. These allow enabling IGMP snooping and
querier on the logical switch and get translated by ovn-northd to rows in
the IP_Multicast Southbound DB table.
ovn-northd monitors for changes done by ovn-controllers in the Southbound DB
IGMP_Group table. Based on the entries in IGMP_Group ovn-northd creates
Multicast_Group entries in the Southbound DB, one per IGMP_Group address X,
containing the list of logical switch ports (aggregated from all controllers)
that have IGMP_Group entries for that datapath and address X. ovn-northd
also creates a logical flow that matches on IP multicast traffic destined
to address X and outputs it on the tunnel key of the corresponding
Multicast_Group entry.
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Acked-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
Compare: https://github.com/openvswitch/ovs/compare/6778f245f6fc...605535f9adf2
More information about the git
mailing list