On Wed, Nov 04, 2020 at 05:33:27PM +0100, Ilya Maximets wrote:
> On 11/3/20 5:46 PM, Ben Pfaff wrote:
> > On Tue, Nov 03, 2020 at 03:53:51AM +0100, Ilya Maximets wrote:
> >> On 11/3/20 12:28 AM, Ben Pfaff wrote:
> >>> match_format() prints out "igmp" for IGMP flows, but
> >>> ofp_parse_protocol() didn't accept it, which meant that OVS would print
> >>> out a flow that it wouldn't re-parse.  This fixes the problem and adds
> >>> a test.
> >>
> >> I'm a bit confused.  IIUC, matching on igmp is not supported by any
> >> OF version or by any extensions, i.e. we could match by 'ip,nw_proto=2',
> >> but there is no special OF header for "igmp" or "igmp_type" or "igmp_code".
> >> While it seems easy to add parsing of "igmp" itself, its fields 
> >> ("igmp_type"
> >> and "igmp_code") could appear in the output too and parsing of these fields
> >> will, I guess, require a new OF extension.  Is it correct?  If so, maybe
> >> it's better to remove "igmp*" printing code from the match_format() 
> >> instead?
> > 
> > I hadn't thought about that.  I was just thinking of this as a short
> > form of "ip,nw_proto=2".
> > 
> > It looks like OVS's support for IGMP matching is inconsistent.
> > flow_extract() pulls the igmp_type and igmp_code values into tp_src and
> > tp_dst.  The kernel datapath doesn't do that, though, and there's no
> > support for the fields at the OpenFlow level.  I guess it has never been
> > important enough.
> 
> From my understanding, for now we only need support inside OVS userspace
> for multicast snooping.  So, OVS just instructs datapath that all igmp
> (ip,nw_proto=2) packets should go to userspace, so they could be specially
> processed.  And this is just a configuration of the bridge, so no need
> to have support in OpenFlow.  I think, the same we have for LLDP:  OVS
> instructs datapath that all 0x88cc packets should go to userspace and
> userspace handles these packets adjusting the configuration of ports and
> bridges.  In this case we don't really need any special support from the
> datapath and this also works without involving the OF level as these
> packets are consumed by OVS itself and not passed through OF pipelines.
> 
> > 
> > OK, I won't complain either way then.
> 
> I think, it's better to just stop printing word 'igmp' in flow dumps to
> avoid confusion since OF doesn't support igmp.  We're not printing anything
> like this for lldp or some other types of packets anyway.
> 
> Flavio, you were the original author of this mcast snooping feature, what
> do you think?

Sorry the delay.

Your understanding is correct about the membership packets going
to userspace for special processing. There was no intention of
exposing the protocol itself.

I don't like changing outputs because doing so can break scripts
but maybe in this case that's better in order to keep consistency
with LLDP and OF.

-- 
fbl
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to