Netdev List
 help / color / mirror / Atom feed
From: Jiannan Ouyang <ouyangj@fb.com>
To: <osmocom-net-gprs@lists.osmocom.org>, <netdev@vger.kernel.org>,
	<dev@openvswitch.org>
Cc: <pablo@netfilter.org>, <laforge@gnumonks.org>,
	<pshelar@nicira.com>, <wieger.ijntema.tno@gmail.com>,
	<yi.y.yang@intel.com>, <joe@ovn.org>, <amarpadmanabhan@fb.com>,
	Jiannan Ouyang <ouyangj@fb.com>
Subject: [PATCH net-next v1 0/3] Flow Based GTP Tunneling
Date: Wed, 12 Jul 2017 17:44:52 -0700	[thread overview]
Message-ID: <20170713004455.3946570-1-ouyangj@fb.com> (raw)

This patch series augmented the existing GTP module to support flow
based GTP tunneling and modified the openvswitch datapath to support the
GTP vport type.

A flow based GTP net device enables that,
1) on the RX path, the outer (IP/UDP/GTP) header information could to be
stored in the metadata_dst struct, and embedded into the skb.
2) on the TX path, packets are encapsulated following instructions in
the metadata_dst field of the skb.

A flow based GTP net device can be integrated with Open vSwitch, which
allows SDN controllers to program GTP tunnels via Open vSwitch. 

Open vSwitch changes are based on patch set
    [PATCH] Add GTP vport based on upstream datapath

Example usage with OVS:

ovs-vsctl add-port br0 gtp-vport -- set interface gtp-vport \
    ofport_request=2 type=gtp option:remote_ip=flow options:key=flow

ovs-ofctl add-flow br0
    "in_port=2,tun_src=192.168.60.141,tun_id=123, \
    actions=set_field:02:00:00:00:00:00->eth_src, \
    set_field:ff:ff:ff:ff:ff:ff->eth_dst,LOCAL"

ovs-ofctl add-flow br0 \
    "in_port=LOCAL,actions=set_tunnel:888, \
    set_field:192.168.60.141->tun_dst,2"

arp -s 10.1.1.122 02:00:00:00:00:00

Jiannan Ouyang (3):
  gtp: refactor to support flow-based gtp encap and decap
  gtp: Support creating flow-based gtp net_device
  openvswitch: Add GPRS Tunnel Protocol (GTP) vport support

 drivers/net/gtp.c                | 375 ++++++++++++++++++++++++++++++++-------
 include/net/gtp.h                |   8 +
 include/uapi/linux/openvswitch.h |   1 +
 net/openvswitch/Kconfig          |  10 ++
 net/openvswitch/Makefile         |   1 +
 net/openvswitch/vport-gtp.c      | 144 +++++++++++++++
 6 files changed, 475 insertions(+), 64 deletions(-)
 create mode 100644 net/openvswitch/vport-gtp.c

-- 
2.9.3

             reply	other threads:[~2017-07-13  0:45 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-13  0:44 Jiannan Ouyang [this message]
2017-07-13  0:44 ` [PATCH net-next v1 3/3] openvswitch: Add GPRS Tunnel Protocol (GTP) vport support Jiannan Ouyang
     [not found] ` <20170713004455.3946570-1-ouyangj-b10kYP2dOMg@public.gmane.org>
2017-07-13  0:44   ` [PATCH net-next v1 1/3] gtp: refactor to support flow-based gtp encap and decap Jiannan Ouyang
2017-07-13  7:26     ` Harald Welte
2017-07-14  0:55       ` Jiannan Ouyang
     [not found]         ` <3729E0DA-08AB-4C5C-B9EC-C76DAAA60E10-b10kYP2dOMg@public.gmane.org>
2017-07-14  8:03           ` Harald Welte
2017-07-31  7:21     ` Andreas Schultz
2017-08-02 12:52       ` Pablo Neira Ayuso
2017-07-13  0:44   ` [PATCH net-next v1 2/3] gtp: Support creating flow-based gtp net_device Jiannan Ouyang
     [not found]     ` <20170713004455.3946570-3-ouyangj-b10kYP2dOMg@public.gmane.org>
2017-07-13  7:35       ` Harald Welte
2017-07-14  1:01         ` Jiannan Ouyang
2017-07-14  8:12           ` Harald Welte
2017-07-13 18:01     ` Joe Stringer
2017-07-13  1:28   ` [PATCH net-next v1 0/3] Flow Based GTP Tunneling Joe Stringer
2017-07-13  7:12 ` Harald Welte
2017-07-13 18:14   ` Joe Stringer
2017-07-13 22:54     ` Jiannan Ouyang

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=20170713004455.3946570-1-ouyangj@fb.com \
    --to=ouyangj@fb.com \
    --cc=amarpadmanabhan@fb.com \
    --cc=dev@openvswitch.org \
    --cc=joe@ovn.org \
    --cc=laforge@gnumonks.org \
    --cc=netdev@vger.kernel.org \
    --cc=osmocom-net-gprs@lists.osmocom.org \
    --cc=pablo@netfilter.org \
    --cc=pshelar@nicira.com \
    --cc=wieger.ijntema.tno@gmail.com \
    --cc=yi.y.yang@intel.com \
    /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