netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] add GENEVE netdev tunnel driver
@ 2015-05-08 17:20 John W. Linville
  2015-05-08 17:20 ` [PATCH 1/5] geneve: remove MODULE_ALIAS_RTNL_LINK from net/ipv4/geneve.c John W. Linville
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: John W. Linville @ 2015-05-08 17:20 UTC (permalink / raw)
  To: netdev
  Cc: David S. Miller, Jesse Gross, Andy Zhou, Stephen Hemminger,
	Alexander Duyck

This 5-patch kernel series adds a netdev implementation of a GENEVE
tunnel driver, and the single iproute2 patch enables creation and
such for those netdevs.  This makes use of the existing GENEVE
infrastructure already used by the OVS code.  The net/ipv4/geneve.c
file is renamed as net/ipv4/geneve_core.c as part of these changes.

 drivers/net/Kconfig            |   14 +
 drivers/net/Makefile           |    1 
 drivers/net/geneve.c           |  550 +++++++++++++++++++++++++++++++++++++++++
 include/net/geneve.h           |    5 
 include/uapi/linux/if_link.h   |    9 
 net/ipv4/Kconfig               |    4 
 net/ipv4/Makefile              |    2 
 net/ipv4/geneve.c              |    6 
 net/ipv4/geneve_core.c         |    4 
 net/openvswitch/Kconfig        |    2 
 net/openvswitch/vport-geneve.c |    5 
 11 files changed, 585 insertions(+), 17 deletions(-)

The overall structure of the GENEVE netdev driver is strongly
influenced by the VXLAN netdev driver.  This is not surprising, as the
two drivers are intended to serve similar purposes.  As development of
the GENEVE driver continues, it is likely that those similarities will
grow stronger.  This will include both simple configuration options
(e.g. TOS and TTL settings) and new control plane support.

The current implementation is very simple, restricting itself to point
to point links over IPv4.  This is due only to the simplicity of the
implementation, and no such limit is inherent to GENEVE in any way.
Support for IPv6 links and more sophisticated control plane options
are predictable enhancements.

Using the included iproute2 patch, a GENEVE tunnel is created thusly:

        ip link add dev gnv0 type geneve remote 192.168.22.1 vni 1234
        ip link set gnv0 up
        ip addr add 10.1.1.1/24 dev gnv0

After a corresponding tunnel interface is created at the link partner,
traffic should proceed as expected.

Please let me know if anyone has problems...thanks!

John
--
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-05-13 17:00 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-08 17:20 [PATCH] add GENEVE netdev tunnel driver John W. Linville
2015-05-08 17:20 ` [PATCH 1/5] geneve: remove MODULE_ALIAS_RTNL_LINK from net/ipv4/geneve.c John W. Linville
2015-05-08 17:20 ` [PATCH 2/5] geneve: move definition of geneve_hdr() to geneve.h John W. Linville
2015-05-08 17:20 ` [PATCH 3/5] geneve: Rename support library as geneve_core John W. Linville
2015-05-08 17:20 ` [PATCH 4/5] geneve_core: identify as driver library in modules description John W. Linville
2015-05-08 17:20 ` [PATCH 5/5] geneve: add initial netdev driver for GENEVE tunnels John W. Linville
2015-05-08 20:55   ` Cong Wang
2015-05-08 23:22     ` John W. Linville
2015-05-10 23:48       ` David Miller
2015-05-11 15:17         ` John W. Linville
2015-05-08 23:19   ` Jesse Gross
2015-05-11 20:51   ` [PATCH v2 " John W. Linville
2015-05-13  3:06     ` David Miller
2015-05-13 16:53       ` John W. Linville
2015-05-08 17:27 ` [PATCH] iproute2: GENEVE support John W. Linville
2015-05-08 23:27   ` Jesse Gross
2015-05-11 18:47   ` [PATCH v2] " John W. Linville
2015-05-08 19:32 ` [PATCH] add GENEVE netdev tunnel driver Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).