at v6.19 30 lines 667 B view raw
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 10#ifndef _NET_SEG6_LOCAL_H 11#define _NET_SEG6_LOCAL_H 12 13#include <linux/percpu.h> 14#include <linux/net.h> 15#include <linux/ipv6.h> 16 17extern int seg6_lookup_nexthop(struct sk_buff *skb, struct in6_addr *nhaddr, 18 u32 tbl_id); 19extern bool seg6_bpf_has_valid_srh(struct sk_buff *skb); 20 21struct seg6_bpf_srh_state { 22 local_lock_t bh_lock; 23 struct ipv6_sr_hdr *srh; 24 u16 hdrlen; 25 bool valid; 26}; 27 28DECLARE_PER_CPU(struct seg6_bpf_srh_state, seg6_bpf_srh_states); 29 30#endif