mbox series

[ovs-dev,00/11] Patches 1-11 of ERSPAN backport

Message ID 1524673309-30044-1-git-send-email-gvrose8192@gmail.com
Headers show
Series Patches 1-11 of ERSPAN backport | expand

Message

Gregory Rose April 25, 2018, 4:21 p.m. UTC
This series of patches is the first half of the backport of the
Linux kernel upstream ERSPAN feature support.

The first patch does some cleanup of unsupported kernel code.  The
remaining patches in the series begin the backport of the actual
ERSPAN code.

As part of the ERSPAN backport it was necessary to fixup the current
out of tree GRE and IP tunneling support by pulling in code from
the upstream Linux kernel.  There was a great deal of infrastructure
missing so much of this patch series is actually devoted to making
sure the proper IPV4 tunneling code is pulled in from the upstream
kernel.

Currently the series only builds on kernels <= 4.9.  A future patch
will enable builds on kernels greater than 4.9.

Greg Rose (1):
  compat: Remove unsupported kernel compat code

William Tu (7):
  gre: introduce native tunnel support for ERSPAN
  gre: fix goto statement typo
  gre: refactor the gre_fb_xmit
  compat/gre: add collect_md mode
  ip_gre: check packet length and mtu correctly in erspan tx
  ip_gre: Refactor the erpsan tunnel code.
  compat/erspan: refactor existing erspan code

Xin Long (3):
  ip_gre: get key from session_id correctly in erspan_rcv
  ip_gre: set tunnel hlen properly in erspan_tunnel_init
  ip_gre: erspan device should keep dst

 acinclude.m4                                       |   49 +-
 datapath/linux/Modules.mk                          |    3 +-
 datapath/linux/compat/gre.c                        |  222 ++--
 datapath/linux/compat/include/linux/etherdevice.h  |   30 -
 datapath/linux/compat/include/linux/if_ether.h     |    4 +
 datapath/linux/compat/include/linux/if_vlan.h      |   11 -
 datapath/linux/compat/include/linux/kconfig.h      |    8 -
 datapath/linux/compat/include/linux/kernel.h       |   38 -
 .../linux/compat/include/linux/netdev_features.h   |   19 -
 datapath/linux/compat/include/linux/netdevice.h    |    5 -
 datapath/linux/compat/include/linux/skbuff.h       |   36 +-
 datapath/linux/compat/include/linux/workqueue.h    |    4 -
 datapath/linux/compat/include/net/checksum.h       |    6 -
 datapath/linux/compat/include/net/dst.h            |   28 +-
 datapath/linux/compat/include/net/dst_metadata.h   |   23 +-
 datapath/linux/compat/include/net/erspan.h         |  116 ++
 datapath/linux/compat/include/net/genetlink.h      |   11 -
 datapath/linux/compat/include/net/gre.h            |   13 +-
 datapath/linux/compat/include/net/ip6_route.h      |   23 -
 datapath/linux/compat/include/net/ip_tunnels.h     |  226 +++-
 datapath/linux/compat/include/net/ipv6.h           |   15 -
 .../include/net/netfilter/nf_conntrack_zones.h     |    2 -
 datapath/linux/compat/include/net/netlink.h        |   15 -
 datapath/linux/compat/include/net/route.h          |  105 --
 datapath/linux/compat/ip_gre.c                     | 1103 ++++++++++++++++++--
 datapath/linux/compat/ip_tunnel.c                  |  501 ++++++++-
 datapath/linux/compat/ip_tunnels_core.c            |   41 +
 datapath/linux/compat/lisp.c                       |    2 -
 datapath/linux/compat/stt.c                        |    6 -
 datapath/linux/compat/udp_tunnel.c                 |    2 -
 datapath/linux/compat/utils.c                      |   22 -
 31 files changed, 2046 insertions(+), 643 deletions(-)
 create mode 100644 datapath/linux/compat/include/net/erspan.h

Comments

Gregory Rose April 27, 2018, 5:01 p.m. UTC | #1
On 4/25/2018 9:21 AM, Greg Rose wrote:
> This series of patches is the first half of the backport of the
> Linux kernel upstream ERSPAN feature support.
>
> The first patch does some cleanup of unsupported kernel code.  The
> remaining patches in the series begin the backport of the actual
> ERSPAN code.
>
> As part of the ERSPAN backport it was necessary to fixup the current
> out of tree GRE and IP tunneling support by pulling in code from
> the upstream Linux kernel.  There was a great deal of infrastructure
> missing so much of this patch series is actually devoted to making
> sure the proper IPV4 tunneling code is pulled in from the upstream
> kernel.
>
> Currently the series only builds on kernels <= 4.9.  A future patch
> will enable builds on kernels greater than 4.9.

Please ignore this patch series - we've fixed a few things so I will 
repost a V2 next week.

Thanks,

- Greg

>
> Greg Rose (1):
>    compat: Remove unsupported kernel compat code
>
> William Tu (7):
>    gre: introduce native tunnel support for ERSPAN
>    gre: fix goto statement typo
>    gre: refactor the gre_fb_xmit
>    compat/gre: add collect_md mode
>    ip_gre: check packet length and mtu correctly in erspan tx
>    ip_gre: Refactor the erpsan tunnel code.
>    compat/erspan: refactor existing erspan code
>
> Xin Long (3):
>    ip_gre: get key from session_id correctly in erspan_rcv
>    ip_gre: set tunnel hlen properly in erspan_tunnel_init
>    ip_gre: erspan device should keep dst
>
>   acinclude.m4                                       |   49 +-
>   datapath/linux/Modules.mk                          |    3 +-
>   datapath/linux/compat/gre.c                        |  222 ++--
>   datapath/linux/compat/include/linux/etherdevice.h  |   30 -
>   datapath/linux/compat/include/linux/if_ether.h     |    4 +
>   datapath/linux/compat/include/linux/if_vlan.h      |   11 -
>   datapath/linux/compat/include/linux/kconfig.h      |    8 -
>   datapath/linux/compat/include/linux/kernel.h       |   38 -
>   .../linux/compat/include/linux/netdev_features.h   |   19 -
>   datapath/linux/compat/include/linux/netdevice.h    |    5 -
>   datapath/linux/compat/include/linux/skbuff.h       |   36 +-
>   datapath/linux/compat/include/linux/workqueue.h    |    4 -
>   datapath/linux/compat/include/net/checksum.h       |    6 -
>   datapath/linux/compat/include/net/dst.h            |   28 +-
>   datapath/linux/compat/include/net/dst_metadata.h   |   23 +-
>   datapath/linux/compat/include/net/erspan.h         |  116 ++
>   datapath/linux/compat/include/net/genetlink.h      |   11 -
>   datapath/linux/compat/include/net/gre.h            |   13 +-
>   datapath/linux/compat/include/net/ip6_route.h      |   23 -
>   datapath/linux/compat/include/net/ip_tunnels.h     |  226 +++-
>   datapath/linux/compat/include/net/ipv6.h           |   15 -
>   .../include/net/netfilter/nf_conntrack_zones.h     |    2 -
>   datapath/linux/compat/include/net/netlink.h        |   15 -
>   datapath/linux/compat/include/net/route.h          |  105 --
>   datapath/linux/compat/ip_gre.c                     | 1103 ++++++++++++++++++--
>   datapath/linux/compat/ip_tunnel.c                  |  501 ++++++++-
>   datapath/linux/compat/ip_tunnels_core.c            |   41 +
>   datapath/linux/compat/lisp.c                       |    2 -
>   datapath/linux/compat/stt.c                        |    6 -
>   datapath/linux/compat/udp_tunnel.c                 |    2 -
>   datapath/linux/compat/utils.c                      |   22 -
>   31 files changed, 2046 insertions(+), 643 deletions(-)
>   create mode 100644 datapath/linux/compat/include/net/erspan.h
>