On Mon, Apr 29, 2013 at 2:53 PM, Neil Mckee <neil.mc...@inmon.com> wrote: > but I'm not sure I understand the one in tunnel.c. I assume you mean this > comment: > > /* XXX: > * > * Ability to generate metadata for packet-outs > * Disallow netdevs with names like "gre64_system" to prevent collisions. */ > > Is this referring to the code that appears 60 lines later? i.e. this test > here: > > existing_port = tnl_find_exact(&tnl_port->match); > if (existing_port) { > if (warn) { > struct ds ds = DS_EMPTY_INITIALIZER; > tnl_match_fmt(&tnl_port->match, &ds); > VLOG_WARN("%s: attempting to add tunnel port with same config as " > "port '%s' (%s)", tnl_port_get_name(tnl_port), > tnl_port_get_name(existing_port), ds_cstr(&ds)); > ds_destroy(&ds); > free(tnl_port); > } > return &void_tnl_port; > } > > And is the concern related to filling in the output-port correctly in sFlow > samples? Using that scheme where the output-port is stored in a per-flow > cookie and retrieved later when a sampl e is taken? If I have understood > correctly, you might have "collisions" where the tunnel netdev name is the > same for two tunnels even if the ultimate datapath output port is going to be > different. And so the revised comment should explain that if that happens > the sFlow output port is not going to be filled in, and will instead be > reported as either 0=="unknown" or 0x80000001=="one interface". Did I get > that right?
Actually, these are two separate items in the XXX list. I was referring to the first one and I think you can just delete it. Packets sent using the OpenFlow "packet out" mechanism can appear to come from any OpenFlow port, including tunnels. However, the only way to distinguish between those ports at the datapath level is to have the associated tunnel metadata (like source and dest IPs). Normally, this wouldn't matter because nothing cares about the input port of packets that are about to be output (since we already know the actions to execute) - except sFlow. The idea was to simulate the metadata so that when sFlow did a lookup it would find the correct OpenFlow port. However, none of that matters if sFlow is just going to report the port as unknown. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev