1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define __NET_GENEVE_H 1
5 #include <net/udp_tunnel.h>
7 #define GENEVE_UDP_PORT 6081
10 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
11 * |Ver| Opt Len |O|C| Rsvd. | Protocol Type |
12 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
13 * | Virtual Network Identifier (VNI) | Reserved |
14 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
15 * | Variable Length Options |
16 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
19 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
20 * | Option Class | Type |R|R|R| Length |
21 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
22 * | Variable Option Data |
23 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
29 #ifdef __LITTLE_ENDIAN_BITFIELD
43 #define GENEVE_CRIT_OPT_TYPE (1 << 7)
46 #ifdef __LITTLE_ENDIAN_BITFIELD
62 struct geneve_opt options
[];
65 static inline bool netif_is_geneve(const struct net_device
*dev
)
67 return dev
->rtnl_link_ops
&&
68 !strcmp(dev
->rtnl_link_ops
->kind
, "geneve");
72 struct net_device
*geneve_dev_create_fb(struct net
*net
, const char *name
,
73 u8 name_assign_type
, u16 dst_port
);
74 #endif /*ifdef CONFIG_INET */
76 #endif /*ifdef__NET_GENEVE_H */