{"id":818918,"url":"http://patchwork.ozlabs.org/api/covers/818918/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/cover/20170927045803.2477-1-tom@quantonium.net/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170927045803.2477-1-tom@quantonium.net>","list_archive_url":null,"date":"2017-09-27T04:57:51","name":"[v4,net-next,00/12] gtp: Additional feature support - Part I","submitter":{"id":72064,"url":"http://patchwork.ozlabs.org/api/people/72064/?format=json","name":"Tom Herbert","email":"tom@quantonium.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/cover/20170927045803.2477-1-tom@quantonium.net/mbox/","series":[{"id":5279,"url":"http://patchwork.ozlabs.org/api/series/5279/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=5279","date":"2017-09-27T04:57:51","name":"gtp: Additional feature support - Part I","version":4,"mbox":"http://patchwork.ozlabs.org/series/5279/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/818918/comments/","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=quantonium-net.20150623.gappssmtp.com\n\theader.i=@quantonium-net.20150623.gappssmtp.com\n\theader.b=\"Uwyuj4GV\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y25Dq3GLrz9sBW\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 27 Sep 2017 14:58:19 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S970110AbdI0E6R (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 27 Sep 2017 00:58:17 -0400","from mail-pf0-f181.google.com ([209.85.192.181]:45072 \"EHLO\n\tmail-pf0-f181.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S967161AbdI0E6Q (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 27 Sep 2017 00:58:16 -0400","by mail-pf0-f181.google.com with SMTP id z84so6671857pfi.2\n\tfor <netdev@vger.kernel.org>; Tue, 26 Sep 2017 21:58:15 -0700 (PDT)","from localhost.localdomain (c-73-162-13-107.hsd1.ca.comcast.net.\n\t[73.162.13.107]) by smtp.gmail.com with ESMTPSA id\n\ty16sm16502728pfe.68.2017.09.26.21.58.13\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 21:58:14 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=quantonium-net.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id;\n\tbh=N1LI5wJYdTzVfkNBqBWygWf9nlgvFPzZcmeAabfIHU0=;\n\tb=Uwyuj4GVcwuTwqMDW/EjaHiDQvNXHq7mLTbJ0UQBOvrfE4kdc57Jo5UyV0+vXfn8G2\n\tIv4+x3RM1os7K57SwnPNg7uG5FM+OjCMffRZcHbxbd3aXsWGed9zdcqFmctoR4Kg94WL\n\tGBvwoKWQKTsrTMDiMFNxfVHSYRM4zkC1x1uLT/GyWkWHi6w3jHqz/paK/1QNXT9/blTP\n\t9tkgc2YDUm+sIzuPVbCyG0Pc6c6dpMlpXhSnnekOi7xneVcbWDnLLdbjKb+y01iCXLR6\n\t97V7J5E3dt9IKXs2Big1VuhBFuVrWu0lK7ebtcMEhskWpPSmWwwdK/MBSmBLkDa4TQGW\n\tzZ2Q==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=N1LI5wJYdTzVfkNBqBWygWf9nlgvFPzZcmeAabfIHU0=;\n\tb=pqjv3QfLRJ8PQiV252QIR4XooT6gEI/AMkOWOG1XOXBu3vNT6Vxp1YBUoYASeaksd7\n\tJunAbIhFxBnaPmOzpm1QvDRilGp77i8eN2ebJHI3u8HuLs68aJNh1aWEKBuyVQs8AjLZ\n\tG12x+nz2vM3Gh0Rhn4Hrk1rf+Lzsz9I/Z7ZYNWEhk9alUfk/Ey8S+sYQYhCk53WxFH56\n\tcZvRTiek4vs3EkzUPN3SFlWBIxArstC+mrqQg5SB+wR2CS3CNiVinuWGKgHBMj5I61bD\n\tal3mjvecAu52NRrqCrXOwwRQKZwtg0ELS4Ivx/o7pZB94+90UPwzaM0nW00mjnSdRwqy\n\tqQYg==","X-Gm-Message-State":"AHPjjUgPSXmyK4O2c4LP6R9gwTTKv6AGWCc3koUoAj52fEgqYl/idxZa\n\tCopPeDqAijNZXKFCH/kN6sho3A==","X-Google-Smtp-Source":"AOwi7QD09Wspidaf8641WOsUgvsMh/woLfpdr/5tRKQ3hOdgJ7wAKiYMqGCeNbh1q2gbqyrKKgi5xQ==","X-Received":"by 10.84.130.78 with SMTP id 72mr184630plc.406.1506488295384;\n\tTue, 26 Sep 2017 21:58:15 -0700 (PDT)","From":"Tom Herbert <tom@quantonium.net>","To":"davem@davemloft.net","Cc":"pablo@netfilter.org, laforge@gnumonks.org, aschultz@tpip.net,\n\tnetdev@vger.kernel.org, rohit@quantonium.net,\n\tTom Herbert <tom@quantonium.net>","Subject":"[PATCH v4 net-next 00/12] gtp: Additional feature support - Part I","Date":"Tue, 26 Sep 2017 21:57:51 -0700","Message-Id":"<20170927045803.2477-1-tom@quantonium.net>","X-Mailer":"git-send-email 2.11.0","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"This patch set builds upon the initial GTP implementation to make\nsupport closer to that enjoyed by other encapsulation protocols.\n\nThe major items are:\n\n  - Experimental IPv6 support\n  - Configurable networking interfaces so that GTP kernel can be\n    used and tested without needing GSN network emulation (i.e. no user\n    space daemon needed).\n  - Addition of a dst_cache in the GTP structure and other cleanup\n\nAdditionally, this patch set also includes:\n\n  - Common functions to get a route fo for an IP tunnel\n\nFor IPv6 support, the mobile subscriber needs to allow IPv6 addresses,\nand the remote endpoint can be IPv6.\n\nFor configurable interfaces, configuration is added to allow an\nalternate means to configure a GTP and device. This follows the\ntypical UDP encapsulation model of specifying a listener port for\nreceive, and a remote address and port for transmit.\n\nConfiguration is performed by iproute2/ip. I will post that\nin a subsequent patch set.\n\nTested:\n\nConfigured the matrix of IPv4/IPv6 mobile subscriber, IPv4/IPv6 remote\npeer, and GTP version 0 and 1 (eight combinations). Observed\nconnectivity and functional netperf. Also, tested VXLAN for\nregression.\n\nTest using openggs with ggsn and kernel module on one side and\nemulated sgsn on the other. Observed connectivity and\nfunctional netperf.\n\nv2:\n  - Split the original patch to post in parts in order to make\n    review more manageable\n  - Make IPv6 support experimental with a configuration option for it\n  - Prepend hash functions with gtp\n  - Generalize iptunnel update path MTU function and call it from gtp\n    instead using custom code\n  - Split original patch cleaning up udp_recv into several for easier\n    review\n\nv3: Properly include netdev on cc\n\nv4:\n  - Move __ip6_tnl_get_route to ipv6/route.c to avoid creting dependency on ip6_tunnel\n  - Add \"select GRO_CELLS\" fo Kconfig for GTP\n\n\nTom Herbert (12):\n  iptunnel: Add common functions to get a tunnel route\n  vxlan: Call common functions to get tunnel routes\n  gtp: Call common functions to get tunnel routes and add dst_cache\n  iptunnel: Generalize tunnel update pmtu\n  gtp: Change to use gro_cells\n  gtp: Use goto for exceptions in gtp_udp_encap_recv funcs\n  gtp: udp recv clean up\n  gtp: Call function to update path mtu\n  gtp: Eliminate pktinfo and add port configuration\n  gtp: Experimental encapsulation of IPv6 packets\n  gtp: Experimental support encpasulating over IPv6\n  gtp: Allow configuring GTP interface as standalone\n\n drivers/net/Kconfig          |   13 +-\n drivers/net/gtp.c            | 1043 ++++++++++++++++++++++++++++++------------\n drivers/net/vxlan.c          |   84 +---\n include/net/ip6_tunnel.h     |   33 ++\n include/net/ip_tunnels.h     |   36 ++\n include/uapi/linux/gtp.h     |    8 +\n include/uapi/linux/if_link.h |    3 +\n net/ipv4/ip_tunnel.c         |   70 ++-\n net/ipv6/route.c             |   42 ++\n 9 files changed, 945 insertions(+), 387 deletions(-)"}