This series implements support for layer 3 ports, of which we have one example so far, the LISP vport. LISP support is currently implemented with a hack, by adding/removing the Ethernet header within the datapath/vport-lisp.c file. By removing the assumption that all packets/flows have Ethernet header, this series adds generic support for layer 3 ports in OVS, and thus it is expected that the user/kernel space API for LISP support will not change. This will allow the upstreaming of the LISP vport, resulting in a decreased the delta against the Linux kernel module,which is the goal that started this work.
These patches are not finished yet, in particular several unit tests are failing. I would start fixing the causes behind the failing tests, but I prefer to invest time on that only if you think the general direction I took is OK, espcially the new 'struct flow' member 'noeth;, and the fact that flow_extract() now won't accept a 'struct ofpbuf' without either 'l2' or 'l3' being set. Lorand Jakab (4): ofproto-dpif: add support for layer 3 ports userspace: add support for pop_eth and push_eth actions userspace: add layer 3 flow and switching support datapath: add layer 3 flow/port support datapath/actions.c | 32 +++++++++++++++++++ datapath/datapath.h | 1 + datapath/flow.c | 43 ++++++++++++++----------- datapath/flow.h | 1 + datapath/flow_netlink.c | 20 ++++++++++-- datapath/vport-gre.c | 1 + datapath/vport-lisp.c | 17 ++-------- datapath/vport-netdev.c | 1 + datapath/vport-vxlan.c | 1 + include/linux/openvswitch.h | 12 +++++++ lib/bfd.c | 1 + lib/dpif-linux.c | 7 ++++ lib/dpif-netdev.c | 12 +++---- lib/dpif.c | 6 ++-- lib/flow.c | 36 ++++++++++++++++++--- lib/flow.h | 3 +- lib/match.c | 9 ++++-- lib/netdev-vport.c | 8 +++++ lib/netdev-vport.h | 1 + lib/odp-execute.c | 12 +++++++ lib/odp-util.c | 76 +++++++++++++++++++++++++++++++++++++++++--- lib/odp-util.h | 6 ++++ lib/ofp-print.c | 14 +++++--- lib/ofp-print.h | 3 +- lib/packets.c | 25 +++++++++++++++ lib/packets.h | 4 +++ ofproto/ofproto-dpif-xlate.c | 17 ++++++++-- ofproto/ofproto-dpif-xlate.h | 3 +- ofproto/ofproto-dpif.c | 8 ++++- ofproto/ofproto.c | 1 + 30 files changed, 315 insertions(+), 66 deletions(-) -- 1.8.3.4 (Apple Git-47) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev