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

Reply via email to