net: Identifier Locator Addressing module

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>
This commit is contained in:
Tom Herbert 2015-08-17 13:42:27 -07:00 committed by David S. Miller
parent abc5d1ff3e
commit 65d7ab8de5
5 changed files with 252 additions and 0 deletions

15
include/uapi/linux/ila.h Normal file
View file

@ -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 */