Commit 999cb275 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso

gtp: add IPv6 support

Add new iflink attributes to configure in-kernel UDP listener socket
address: IFLA_GTP_LOCAL and IFLA_GTP_LOCAL6. If none of these attributes
are specified, default is still to IPv4 INADDR_ANY for backward
compatibility.

Add new attributes to set up family and IPv6 address of GTP tunnels:
GTPA_FAMILY, GTPA_PEER_ADDR6 and GTPA_MS_ADDR6. If no GTPA_FAMILY is
specified, AF_INET is assumed for backward compatibility.

setsockopt IPV6_ADDRFORM allows to downgrade socket from IPv6 to IPv4
after socket is bound. Assumption is that socket listener that is
attached to the gtp device needs to be either IPv4 or IPv6. Therefore,
GTP socket listener does not allow for IPv4-mapped-IPv6 listener.
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 750771d0
This diff is collapsed.
...@@ -31,6 +31,9 @@ enum gtp_attrs { ...@@ -31,6 +31,9 @@ enum gtp_attrs {
GTPA_I_TEI, /* for GTPv1 only */ GTPA_I_TEI, /* for GTPv1 only */
GTPA_O_TEI, /* for GTPv1 only */ GTPA_O_TEI, /* for GTPv1 only */
GTPA_PAD, GTPA_PAD,
GTPA_PEER_ADDR6,
GTPA_MS_ADDR6,
GTPA_FAMILY,
__GTPA_MAX, __GTPA_MAX,
}; };
#define GTPA_MAX (__GTPA_MAX - 1) #define GTPA_MAX (__GTPA_MAX - 1)
......
...@@ -1466,6 +1466,8 @@ enum { ...@@ -1466,6 +1466,8 @@ enum {
IFLA_GTP_ROLE, IFLA_GTP_ROLE,
IFLA_GTP_CREATE_SOCKETS, IFLA_GTP_CREATE_SOCKETS,
IFLA_GTP_RESTART_COUNT, IFLA_GTP_RESTART_COUNT,
IFLA_GTP_LOCAL,
IFLA_GTP_LOCAL6,
__IFLA_GTP_MAX, __IFLA_GTP_MAX,
}; };
#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment