diff options
author | David Lebrun <david.lebrun@uclouvain.be> | 2017-08-25 09:56:44 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-26 02:10:23 +0200 |
commit | 32d99d0b670299720dd0db92a974c9612c230889 (patch) | |
tree | 339777628429f48fdb84d2a0a913e5b898e78f01 /include/net/seg6.h | |
parent | strparser: initialize all callbacks (diff) | |
download | linux-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.h | 3 |
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 |