cregit-Linux how code gets into the kernel

Release 4.7 net/netlink/af_netlink.h

Directory: net/netlink
#ifndef _AF_NETLINK_H

#define _AF_NETLINK_H

#include <linux/rhashtable.h>
#include <linux/atomic.h>
#include <net/sock.h>


#define NLGRPSZ(x)	(ALIGN(x, sizeof(unsigned long) * 8) / 8)

#define NLGRPLONGS(x)	(NLGRPSZ(x)/sizeof(unsigned long))


struct netlink_ring {
	
void			**pg_vec;
	
unsigned int		head;
	
unsigned int		frames_per_block;
	
unsigned int		frame_size;
	
unsigned int		frame_max;

	
unsigned int		pg_vec_order;
	
unsigned int		pg_vec_pages;
	
unsigned int		pg_vec_len;

	
atomic_t		pending;
};


struct netlink_sock {
	/* struct sock has to be the first member of netlink_sock */
	
struct sock		sk;
	
u32			portid;
	
u32			dst_portid;
	
u32			dst_group;
	
u32			flags;
	
u32			subscriptions;
	
u32			ngroups;
	
unsigned long		*groups;
	
unsigned long		state;
	
size_t			max_recvmsg_len;
	
wait_queue_head_t	wait;
	
bool			bound;
	
bool			cb_running;
	
struct netlink_callback	cb;
	
struct mutex		*cb_mutex;
	
struct mutex		cb_def_mutex;
	
void			(*netlink_rcv)(struct sk_buff *skb);
	
int			(*netlink_bind)(struct net *net, int group);
	
void			(*netlink_unbind)(struct net *net, int group);
	
struct module		*module;

	
struct rhash_head	node;
	
struct rcu_head		rcu;
};


static inline struct netlink_sock *nlk_sk(struct sock *sk) { return container_of(sk, struct netlink_sock, sk); }

Contributors

PersonTokensPropCommitsCommitProp
andrey vaginandrey vagin25100.00%1100.00%
Total25100.00%1100.00%

struct netlink_table { struct rhashtable hash; struct hlist_head mc_list; struct listeners __rcu *listeners; unsigned int flags; unsigned int groups; struct mutex *cb_mutex; struct module *module; int (*bind)(struct net *net, int group); void (*unbind)(struct net *net, int group); bool (*compare)(struct net *net, struct sock *sock); int registered; }; extern struct netlink_table *nl_table; extern rwlock_t nl_table_lock; #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
andrey vaginandrey vagin18760.13%19.09%
patrick mchardypatrick mchardy4113.18%19.09%
johannes bergjohannes berg237.40%218.18%
richard guy briggsrichard guy briggs227.07%19.09%
gao fenggao feng175.47%19.09%
thomas grafthomas graf123.86%218.18%
eric dumazeteric dumazet30.96%19.09%
pravin b shelarpravin b shelar30.96%19.09%
herbert xuherbert xu30.96%19.09%
Total311100.00%11100.00%
Directory: net/netlink
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}