linux/include/net/pfcp.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _PFCP_H_
#define _PFCP_H_

#include <uapi/linux/if_ether.h>
#include <net/dst_metadata.h>
#include <linux/netdevice.h>
#include <uapi/linux/ipv6.h>
#include <net/udp_tunnel.h>
#include <uapi/linux/udp.h>
#include <uapi/linux/ip.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/bits.h>

#define PFCP_PORT

/* PFCP protocol header */
struct pfcphdr {};

/* PFCP header flags */
#define PFCP_SEID_FLAG
#define PFCP_MP_FLAG

#define PFCP_VERSION_MASK

#define PFCP_HLEN

/* PFCP node related messages */
struct pfcphdr_node {};

/* PFCP session related messages */
struct pfcphdr_session {};

struct pfcp_metadata {} __packed;

enum {};

#define PFCP_HEADROOM
#define PFCP6_HEADROOM

static inline struct pfcphdr *pfcp_hdr(struct sk_buff *skb)
{}

static inline struct pfcphdr_node *pfcp_hdr_node(struct sk_buff *skb)
{}

static inline struct pfcphdr_session *pfcp_hdr_session(struct sk_buff *skb)
{}

static inline bool netif_is_pfcp(const struct net_device *dev)
{}

#endif