linux/net/openvswitch
Jiri Benc 329f45bc4f openvswitch: add mac_proto field to the flow key
Use a hole in the structure. We support only Ethernet so far and will add
a support for L2-less packets shortly. We could use a bool to indicate
whether the Ethernet header is present or not but the approach with the
mac_proto field is more generic and occupies the same number of bytes in the
struct, while allowing later extensibility. It also makes the code in the
next patches more self explaining.

It would be nice to use ARPHRD_ constants but those are u16 which would be
waste. Thus define our own constants.

Another upside of this is that we can overload this new field to also denote
whether the flow key is valid. This has the advantage that on
refragmentation, we don't have to reparse the packet but can rely on the
stored eth.type. This is especially important for the next patches in this
series - instead of adding another branch for L2-less packets before calling
ovs_fragment, we can just remove all those branches completely.

Signed-off-by: Jiri Benc <jbenc@redhat.com>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-13 00:51:02 -05:00
..
actions.c openvswitch: add mac_proto field to the flow key 2016-11-13 00:51:02 -05:00
conntrack.c openvswitch: Free tmpl with tmpl_free. 2016-09-04 11:38:10 -07:00
conntrack.h openvswitch: Interface with NAT. 2016-03-14 23:47:29 +01:00
datapath.c genetlink: mark families as __ro_after_init 2016-10-27 16:16:09 -04:00
datapath.h openvswitch: Add packet truncation support. 2016-06-10 17:58:03 -07:00
dp_notify.c openvswitch: fix hangup on vxlan/gre/geneve device deletion 2015-12-03 14:29:25 -05:00
flow_netlink.c openvswitch: add mac_proto field to the flow key 2016-11-13 00:51:02 -05:00
flow_netlink.h openvswitch: avoid resetting flow key while installing new flow. 2016-09-20 22:54:35 -04:00
flow_table.c openvswitch: use percpu flow stats 2016-09-18 22:14:01 -04:00
flow_table.h openvswitch: Zero flows on allocation. 2015-09-22 17:33:41 -07:00
flow.c openvswitch: add mac_proto field to the flow key 2016-11-13 00:51:02 -05:00
flow.h openvswitch: add mac_proto field to the flow key 2016-11-13 00:51:02 -05:00
Kconfig openvswitch: call only into reachable nf-nat code 2016-03-28 17:58:59 +02:00
Makefile openvswitch: Remove conntrack Kconfig option. 2015-09-06 23:48:33 -07:00
vport-geneve.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport-gre.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport-internal_dev.c net: use core MTU range checking in core net infra 2016-10-20 14:51:09 -04:00
vport-internal_dev.h
vport-netdev.c openvswitch: remove unnecessary EXPORT_SYMBOLs 2016-10-19 15:11:55 -04:00
vport-netdev.h openvswitch: Use dev_queue_xmit for vport send. 2015-10-22 06:46:16 -07:00
vport-vxlan.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport.c openvswitch: use hard_header_len instead of hardcoded ETH_HLEN 2016-11-13 00:51:02 -05:00
vport.h openvswitch: remove unused functions 2016-10-19 15:11:55 -04:00