xref: /openbmc/linux/include/net/fou.h (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
263487babSTom Herbert #ifndef __NET_FOU_H
363487babSTom Herbert #define __NET_FOU_H
463487babSTom Herbert 
563487babSTom Herbert #include <linux/skbuff.h>
663487babSTom Herbert 
763487babSTom Herbert #include <net/flow.h>
863487babSTom Herbert #include <net/gue.h>
963487babSTom Herbert #include <net/ip_tunnels.h>
1063487babSTom Herbert #include <net/udp.h>
1163487babSTom Herbert 
12a8c5f90fSTom Herbert size_t fou_encap_hlen(struct ip_tunnel_encap *e);
13aa3463d6STom Herbert size_t gue_encap_hlen(struct ip_tunnel_encap *e);
14a8c5f90fSTom Herbert 
15dc969b81STom Herbert int __fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
16dc969b81STom Herbert 		       u8 *protocol, __be16 *sport, int type);
17dc969b81STom Herbert int __gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
18dc969b81STom Herbert 		       u8 *protocol, __be16 *sport, int type);
1963487babSTom Herbert 
20*c50e9609SChristian Ehrig int register_fou_bpf(void);
21*c50e9609SChristian Ehrig 
2263487babSTom Herbert #endif
23