seg6_local.h (644B)
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 struct ipv6_sr_hdr *srh; 23 u16 hdrlen; 24 bool valid; 25}; 26 27DECLARE_PER_CPU(struct seg6_bpf_srh_state, seg6_bpf_srh_states); 28 29#endif