ipv6: sr: add support for encapsulation of L2 frames
authorDavid Lebrun <david.lebrun@uclouvain.be>
Fri, 25 Aug 2017 07:56:45 +0000 (09:56 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Aug 2017 00:10:23 +0000 (17:10 -0700)
commit38ee7f2d47565689f35662d488d25e7afc43477d
tree7d261117425ede357f63357eb403f13f63c1926e
parent32d99d0b670299720dd0db92a974c9612c230889
ipv6: sr: add support for encapsulation of L2 frames

This patch implements the L2 frame encapsulation mechanism, referred to
as T.Encaps.L2 in the SRv6 specifications [1].

A new type of SRv6 tunnel mode is added (SEG6_IPTUN_MODE_L2ENCAP). It only
accepts packets with an existing MAC header (i.e., it will not work for
locally generated packets). The resulting packet looks like IPv6 -> SRH ->
Ethernet -> original L3 payload. The next header field of the SRH is set to
NEXTHDR_NONE.

[1] https://tools.ietf.org/html/draft-filsfils-spring-srv6-network-programming-01

Signed-off-by: David Lebrun <david.lebrun@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/seg6_iptunnel.h
net/ipv6/seg6_iptunnel.c