net: Identifier Locator Addressing module
authorTom Herbert <tom@herbertland.com>
Mon, 17 Aug 2015 20:42:27 +0000 (13:42 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Aug 2015 04:33:06 +0000 (21:33 -0700)
Adding new module name ila. This implements ILA translation. Light
weight tunnel redirection is used to perform the translation in
the data path. This is configured by the "ip -6 route" command
using the "encap ila <locator>" option, where <locator> is the
value to set in destination locator of the packet. e.g.

ip -6 route add 3333:0:0:1:5555:0:1:0/128 \
      encap ila 2001:0:0:1 via 2401:db00:20:911a:face:0:25:0

Sets a route where 3333:0:0:1 will be overwritten by
2001:0:0:1 on output.

Signed-off-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/ila.h [new file with mode: 0644]
include/uapi/linux/lwtunnel.h
net/ipv6/Kconfig
net/ipv6/Makefile
net/ipv6/ila.c [new file with mode: 0644]

diff --git a/include/uapi/linux/ila.h b/include/uapi/linux/ila.h
new file mode 100644 (file)
index 0000000..7ed9e67
--- /dev/null
@@ -0,0 +1,15 @@
+/* ila.h - ILA Interface */
+
+#ifndef _UAPI_LINUX_ILA_H
+#define _UAPI_LINUX_ILA_H
+
+enum {
+       ILA_ATTR_UNSPEC,
+       ILA_ATTR_LOCATOR,                       /* u64 */
+
+       __ILA_ATTR_MAX,
+};
+
+#define ILA_ATTR_MAX           (__ILA_ATTR_MAX - 1)
+
+#endif /* _UAPI_LINUX_ILA_H */
index 3bf223b..aa84ca3 100644 (file)
@@ -7,6 +7,7 @@ enum lwtunnel_encap_types {
        LWTUNNEL_ENCAP_NONE,
        LWTUNNEL_ENCAP_MPLS,
        LWTUNNEL_ENCAP_IP,
+       LWTUNNEL_ENCAP_ILA,
        __LWTUNNEL_ENCAP_MAX,
 };
 
Simple merge
Simple merge
diff --cc net/ipv6/ila.c
Simple merge