seg6_local.c (1bdd3e05a0a3b4a97ea88bc46fef8fb265c8b94c) | seg6_local.c (62ebaeaedee7591c257543d040677a60e35c7aec) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * SR-IPv6 implementation 4 * 5 * Authors: 6 * David Lebrun <david.lebrun@uclouvain.be> 7 * eBPF support: Mathieu Xhonneux <m.xhonneux@gmail.com> 8 */ --- 9 unchanged lines hidden (view full) --- 18#include <net/ip6_fib.h> 19#include <net/route.h> 20#include <net/seg6.h> 21#include <linux/seg6.h> 22#include <linux/seg6_local.h> 23#include <net/addrconf.h> 24#include <net/ip6_route.h> 25#include <net/dst_cache.h> | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * SR-IPv6 implementation 4 * 5 * Authors: 6 * David Lebrun <david.lebrun@uclouvain.be> 7 * eBPF support: Mathieu Xhonneux <m.xhonneux@gmail.com> 8 */ --- 9 unchanged lines hidden (view full) --- 18#include <net/ip6_fib.h> 19#include <net/route.h> 20#include <net/seg6.h> 21#include <linux/seg6.h> 22#include <linux/seg6_local.h> 23#include <net/addrconf.h> 24#include <net/ip6_route.h> 25#include <net/dst_cache.h> |
26#include <net/ip_tunnels.h> |
|
26#ifdef CONFIG_IPV6_SEG6_HMAC 27#include <net/seg6_hmac.h> 28#endif 29#include <net/seg6_local.h> 30#include <linux/etherdevice.h> 31#include <linux/bpf.h> 32 33struct seg6_local_lwt; --- 96 unchanged lines hidden (view full) --- 130 131 if (!pskb_pull(skb, off)) 132 return false; 133 134 skb_postpull_rcsum(skb, skb_network_header(skb), off); 135 136 skb_reset_network_header(skb); 137 skb_reset_transport_header(skb); | 27#ifdef CONFIG_IPV6_SEG6_HMAC 28#include <net/seg6_hmac.h> 29#endif 30#include <net/seg6_local.h> 31#include <linux/etherdevice.h> 32#include <linux/bpf.h> 33 34struct seg6_local_lwt; --- 96 unchanged lines hidden (view full) --- 131 132 if (!pskb_pull(skb, off)) 133 return false; 134 135 skb_postpull_rcsum(skb, skb_network_header(skb), off); 136 137 skb_reset_network_header(skb); 138 skb_reset_transport_header(skb); |
138 skb->encapsulation = 0; | 139 if (iptunnel_pull_offloads(skb)) 140 return false; |
139 140 return true; 141} 142 143static void advance_nextseg(struct ipv6_sr_hdr *srh, struct in6_addr *daddr) 144{ 145 struct in6_addr *addr; 146 --- 989 unchanged lines hidden --- | 141 142 return true; 143} 144 145static void advance_nextseg(struct ipv6_sr_hdr *srh, struct in6_addr *daddr) 146{ 147 struct in6_addr *addr; 148 --- 989 unchanged lines hidden --- |