cregit-Linux how code gets into the kernel

Release 4.16 include/net/geneve.h

Directory: include/net
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __NET_GENEVE_H

#define __NET_GENEVE_H  1

#include <net/udp_tunnel.h>

/* Geneve Header:
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |Ver|  Opt Len  |O|C|    Rsvd.  |          Protocol Type        |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |        Virtual Network Identifier (VNI)       |    Reserved   |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |                    Variable Length Options                    |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *
 * Option Header:
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |          Option Class         |      Type     |R|R|R| Length  |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |                      Variable Option Data                     |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 */


struct geneve_opt {
	
__be16	opt_class;
	
u8	type;
#ifdef __LITTLE_ENDIAN_BITFIELD
	
u8	length:5;
	
u8	r3:1;
	
u8	r2:1;
	
u8	r1:1;
#else
	
u8	r1:1;
	
u8	r2:1;
	
u8	r3:1;
	
u8	length:5;
#endif
	
u8	opt_data[];
};


#define GENEVE_CRIT_OPT_TYPE (1 << 7)


struct genevehdr {
#ifdef __LITTLE_ENDIAN_BITFIELD
	
u8 opt_len:6;
	
u8 ver:2;
	
u8 rsvd1:6;
	
u8 critical:1;
	
u8 oam:1;
#else
	u8 ver:2;
	u8 opt_len:6;
	u8 oam:1;
	u8 critical:1;
	u8 rsvd1:6;
#endif
	
__be16 proto_type;
	
u8 vni[3];
	
u8 rsvd2;
	
struct geneve_opt options[];
};

#ifdef CONFIG_INET
struct net_device *geneve_dev_create_fb(struct net *net, const char *name,
					u8 name_assign_type, u16 dst_port);
#endif /*ifdef CONFIG_INET */

#endif /*ifdef__NET_GENEVE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Andy Zhou16587.77%250.00%
Pravin B Shelar2211.70%125.00%
Greg Kroah-Hartman10.53%125.00%
Total188100.00%4100.00%
Directory: include/net
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.