summaryrefslogtreecommitdiffstats
path: root/include/net/seg6.h
diff options
context:
space:
mode:
authorDavid Lebrun <david.lebrun@uclouvain.be>2017-08-25 09:56:44 +0200
committerDavid S. Miller <davem@davemloft.net>2017-08-26 02:10:23 +0200
commit32d99d0b670299720dd0db92a974c9612c230889 (patch)
tree339777628429f48fdb84d2a0a913e5b898e78f01 /include/net/seg6.h
parentstrparser: initialize all callbacks (diff)
downloadlinux-32d99d0b670299720dd0db92a974c9612c230889.tar.xz
linux-32d99d0b670299720dd0db92a974c9612c230889.zip
ipv6: sr: add support for ip4ip6 encapsulation
This patch enables the SRv6 encapsulation mode to carry an IPv4 payload. All the infrastructure was already present, I just had to add a parameter to seg6_do_srh_encap() to specify the inner packet protocol, and perform some additional checks. Usage example: ip route add 1.2.3.4 encap seg6 mode encap segs fc00::1,fc00::2 dev eth0 Signed-off-by: David Lebrun <david.lebrun@uclouvain.be> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/seg6.h')
-rw-r--r--include/net/seg6.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/seg6.h b/include/net/seg6.h
index 5379f550f521..099bad59dc90 100644
--- a/include/net/seg6.h
+++ b/include/net/seg6.h
@@ -60,7 +60,8 @@ extern int seg6_local_init(void);
extern void seg6_local_exit(void);
extern bool seg6_validate_srh(struct ipv6_sr_hdr *srh, int len);
-extern int seg6_do_srh_encap(struct sk_buff *skb, struct ipv6_sr_hdr *osrh);
+extern int seg6_do_srh_encap(struct sk_buff *skb, struct ipv6_sr_hdr *osrh,
+ int proto);
extern int seg6_do_srh_inline(struct sk_buff *skb, struct ipv6_sr_hdr *osrh);
#endif