From: Tom Herbert <tom@quantonium.net>
To: davem@davemloft.net
Cc: pablo@netfilter.org, laforge@gnumonks.org, aschultz@tpip.net,
netdev@vger.kernel.org, rohit@quantonium.net,
Tom Herbert <tom@quantonium.net>
Subject: [PATCH v6 net-next 00/12] gtp: Additional feature support - Part I
Date: Thu, 26 Oct 2017 12:09:17 -0700 [thread overview]
Message-ID: <20171026190929.11619-1-tom@quantonium.net> (raw)
This patch set builds upon the initial GTP implementation to make
support closer to that enjoyed by other encapsulation protocols.
The major items are:
- Experimental IPv6 support
- Configurable networking interfaces so that GTP kernel can be
used and tested without needing GSN network emulation (i.e. no user
space daemon needed).
- Addition of a dst_cache in the GTP structure and other cleanup
Additionally, this patch set also includes:
- Common functions to get a route fo for an IP tunnel
For IPv6 support, the mobile subscriber needs to allow IPv6 addresses,
and the remote endpoint can be IPv6.
For configurable interfaces, configuration is added to allow an
alternate means to configure a GTP and device. This follows the
typical UDP encapsulation model of specifying a listener port for
receive, and a remote address and port for transmit.
Configuration is performed by iproute2/ip. I will post that
in a subsequent patch set.
Tested:
Configured the matrix of IPv4/IPv6 mobile subscriber, IPv4/IPv6 remote
peer, and GTP version 0 and 1 (eight combinations). Observed
connectivity and functional netperf. Also, tested VXLAN for
regression.
Test using openggs with ggsn and kernel module on one side and
emulated sgsn on the other. Observed connectivity and
functional netperf.
v2:
- Split the original patch to post in parts in order to make
review more manageable
- Make IPv6 support experimental with a configuration option for it
- Prepend hash functions with gtp
- Generalize iptunnel update path MTU function and call it from gtp
instead using custom code
- Split original patch cleaning up udp_recv into several for easier
review
v3: Properly include netdev on cc
v4:
- Move __ip6_tnl_get_route to ipv6/route.c to avoid creting dependency
on ip6_tunnel
- Add "select GRO_CELLS" fo Kconfig for GTP
v5:
- Rebase to current next-net and repost
v6:
- Move __ip6_tnl_get_route from net/ipv6/route.c to
net/ipv6/ip6_tunnel.c. This addresses the issue pointed out by
kbuild that the function is not defined when CONFIG_DST_CACHE is
not set
Tom Herbert (12):
iptunnel: Add common functions to get a tunnel route
vxlan: Call common functions to get tunnel routes
gtp: Call common functions to get tunnel routes and add dst_cache
iptunnel: Generalize tunnel update pmtu
gtp: Change to use gro_cells
gtp: Use goto for exceptions in gtp_udp_encap_recv funcs
gtp: udp recv clean up
gtp: Call function to update path mtu
gtp: Eliminate pktinfo and add port configuration
gtp: Experimental encapsulation of IPv6 packets
gtp: Experimental support encpasulating over IPv6
gtp: Allow configuring GTP interface as standalone
drivers/net/Kconfig | 13 +-
drivers/net/gtp.c | 1043 ++++++++++++++++++++++++++++++------------
drivers/net/vxlan.c | 84 +---
include/net/ip6_tunnel.h | 33 ++
include/net/ip_tunnels.h | 36 ++
include/uapi/linux/gtp.h | 8 +
include/uapi/linux/if_link.h | 3 +
net/ipv4/ip_tunnel.c | 70 ++-
net/ipv6/ip6_tunnel.c | 42 ++
9 files changed, 945 insertions(+), 387 deletions(-)
--
2.11.0
next reply other threads:[~2017-10-26 19:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-26 19:09 Tom Herbert [this message]
2017-10-26 19:09 ` [PATCH v6 net-next 01/12] iptunnel: Add common functions to get a tunnel route Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 02/12] vxlan: Call common functions to get tunnel routes Tom Herbert
2017-10-31 11:40 ` kbuild test robot
2017-10-26 19:09 ` [PATCH v6 net-next 03/12] gtp: Call common functions to get tunnel routes and add dst_cache Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 04/12] iptunnel: Generalize tunnel update pmtu Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 05/12] gtp: Change to use gro_cells Tom Herbert
2017-10-26 19:35 ` Subash Abhinov Kasiviswanathan
2017-10-26 19:51 ` Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 06/12] gtp: Use goto for exceptions in gtp_udp_encap_recv funcs Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 07/12] gtp: udp recv clean up Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 08/12] gtp: Call function to update path mtu Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 09/12] gtp: Eliminate pktinfo and add port configuration Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 10/12] gtp: Experimental encapsulation of IPv6 packets Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 11/12] gtp: Experimental support encpasulating over IPv6 Tom Herbert
2017-10-26 19:09 ` [PATCH v6 net-next 12/12] gtp: Allow configuring GTP interface as standalone Tom Herbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171026190929.11619-1-tom@quantonium.net \
--to=tom@quantonium.net \
--cc=aschultz@tpip.net \
--cc=davem@davemloft.net \
--cc=laforge@gnumonks.org \
--cc=netdev@vger.kernel.org \
--cc=pablo@netfilter.org \
--cc=rohit@quantonium.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox