blob: 661fd5b4d3e0b9ea40079d161131d6471d7335aa [file] [log] [blame]
Mathieu Xhonneux1c1e7612018-05-20 14:58:13 +01001/*
2 * SR-IPv6 implementation
3 *
4 * Authors:
5 * David Lebrun <david.lebrun@uclouvain.be>
6 * eBPF support: Mathieu Xhonneux <m.xhonneux@gmail.com>
7 *
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version
12 * 2 of the License, or (at your option) any later version.
13 */
14
15#ifndef _NET_SEG6_LOCAL_H
16#define _NET_SEG6_LOCAL_H
17
Mathieu Xhonneuxfe94cc22018-05-20 14:58:14 +010018#include <linux/percpu.h>
Mathieu Xhonneux1c1e7612018-05-20 14:58:13 +010019#include <linux/net.h>
20#include <linux/ipv6.h>
21
22extern int seg6_lookup_nexthop(struct sk_buff *skb, struct in6_addr *nhaddr,
23 u32 tbl_id);
24
Mathieu Xhonneuxfe94cc22018-05-20 14:58:14 +010025struct seg6_bpf_srh_state {
26 bool valid;
27 u16 hdrlen;
28};
29
30DECLARE_PER_CPU(struct seg6_bpf_srh_state, seg6_bpf_srh_states);
31
Mathieu Xhonneux1c1e7612018-05-20 14:58:13 +010032#endif