seg6_local.h 787 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  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. #ifndef _NET_SEG6_LOCAL_H
  15. #define _NET_SEG6_LOCAL_H
  16. #include <linux/percpu.h>
  17. #include <linux/net.h>
  18. #include <linux/ipv6.h>
  19. extern int seg6_lookup_nexthop(struct sk_buff *skb, struct in6_addr *nhaddr,
  20. u32 tbl_id);
  21. struct seg6_bpf_srh_state {
  22. bool valid;
  23. u16 hdrlen;
  24. };
  25. DECLARE_PER_CPU(struct seg6_bpf_srh_state, seg6_bpf_srh_states);
  26. #endif