/* * NetLabel System * * The NetLabel system manages static and dynamic label mappings for network * protocols such as CIPSO and RIPSO. * * Author: Paul Moore <paul@paul-moore.com> * */ /* * (c) Copyright Hewlett-Packard Development Company, L.P., 2006, 2008 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see <http://www.gnu.org/licenses/>. * */ #ifndef _NETLABEL_H #define _NETLABEL_H #include <linux/types.h> #include <linux/slab.h> #include <linux/net.h> #include <linux/skbuff.h> #include <linux/in.h> #include <linux/in6.h> #include <net/netlink.h> #include <net/request_sock.h> #include <linux/refcount.h> struct cipso_v4_doi; struct calipso_doi; /* * NetLabel - A management interface for maintaining network packet label * mapping tables for explicit packet labling protocols. * * Network protocols such as CIPSO and RIPSO require a label translation layer * to convert the label on the packet into something meaningful on the host * machine. In the current Linux implementation these mapping tables live * inside the kernel; NetLabel provides a mechanism for user space applications * to manage these mapping tables. * * NetLabel makes use of the Generic NETLINK mechanism as a transport layer to * send messages between kernel and user space. The general format of a * NetLabel message is shown below: * * +-----------------+-------------------+--------- --- -- - * | struct nlmsghdr | struct genlmsghdr | payload * +-----------------+-------------------+--------- --- -- - * * The 'nlmsghdr' and 'genlmsghdr' structs should be dealt with like normal. * The payload is dependent on the subsystem specified in the * 'nlmsghdr->nlmsg_type' and should be defined below, supporting functions * should be defined in the corresponding net/netlabel/netlabel_<subsys>.h|c * file. All of the fields in the NetLabel payload are NETLINK attributes, see * the include/net/netlink.h file for more information on NETLINK attributes. * */ /* * NetLabel NETLINK protocol */ /* NetLabel NETLINK protocol version * 1: initial version * 2: added static labels for unlabeled connections * 3: network selectors added to the NetLabel/LSM domain mapping and the * CIPSO_V4_MAP_LOCAL CIPSO mapping was added */ #define NETLBL_PROTO_VERSION 3 /* NetLabel NETLINK types/families */ #define NETLBL_NLTYPE_NONE 0 #define NETLBL_NLTYPE_MGMT 1 #define NETLBL_NLTYPE_MGMT_NAME "NLBL_MGMT" #define NETLBL_NLTYPE_RIPSO 2 #define NETLBL_NLTYPE_RIPSO_NAME "NLBL_RIPSO" #define NETLBL_NLTYPE_CIPSOV4 3 #define NETLBL_NLTYPE_CIPSOV4_NAME "NLBL_CIPSOv4" #define NETLBL_NLTYPE_CIPSOV6 4 #define NETLBL_NLTYPE_CIPSOV6_NAME "NLBL_CIPSOv6" #define NETLBL_NLTYPE_UNLABELED 5 #define NETLBL_NLTYPE_UNLABELED_NAME "NLBL_UNLBL" #define NETLBL_NLTYPE_ADDRSELECT 6 #define NETLBL_NLTYPE_ADDRSELECT_NAME "NLBL_ADRSEL" #define NETLBL_NLTYPE_CALIPSO 7 #define NETLBL_NLTYPE_CALIPSO_NAME "NLBL_CALIPSO" /* * NetLabel - Kernel API for accessing the network packet label mappings. * * The following functions are provided for use by other kernel modules, * specifically kernel LSM modules, to provide a consistent, transparent API * for dealing with explicit packet labeling protocols such as CIPSO and * RIPSO. The functions defined here are implemented in the * net/netlabel/netlabel_kapi.c file. * */ /* NetLabel audit information */ struct netlbl_audit { u32 secid; kuid_t loginuid; unsigned int sessionid; }; /* * LSM security attributes */ /** * struct netlbl_lsm_cache - NetLabel LSM security attribute cache * @refcount: atomic reference counter * @free: LSM supplied function to free the cache data * @data: LSM supplied cache data * * Description: * This structure is provided for LSMs which wish to make use of the NetLabel * caching mechanism to store LSM specific data/attributes in the NetLabel * cache. If the LSM has to perform a lot of translation from the NetLabel * security attributes into it's own internal representation then the cache * mechanism can provide a way to eliminate some or all of that translation * overhead on a cache hit. * */ struct netlbl_lsm_cache { refcount_t refcount; void (*free) (const void *data); void *data; }; /** * struct netlbl_lsm_catmap - NetLabel LSM secattr category bitmap * @startbit: the value of the lowest order bit in the bitmap * @bitmap: the category bitmap * @next: pointer to the next bitmap "node" or NULL * * Description: * This structure is used to represent category bitmaps. Due to the large * number of categories supported by most labeling protocols it is not * practical to transfer a full bitmap internally so NetLabel adopts a sparse * bitmap structure modeled after SELinux's ebitmap structure. * The catmap bitmap field MUST be a power of two in length and large * enough to hold at least 240 bits. Special care (i.e. check the code!) * should be used when changing these values as the LSM implementation * probably has functions which rely on the sizes of these types to speed * processing. * */ #define NETLBL_CATMAP_MAPTYPE u64 #define NETLBL_CATMAP_MAPCNT 4 #define NETLBL_CATMAP_MAPSIZE (sizeof(NETLBL_CATMAP_MAPTYPE) * 8) #define NETLBL_CATMAP_SIZE (NETLBL_CATMAP_MAPSIZE * \ NETLBL_CATMAP_MAPCNT) #define NETLBL_CATMAP_BIT (NETLBL_CATMAP_MAPTYPE)0x01 struct netlbl_lsm_catmap { u32 startbit; NETLBL_CATMAP_MAPTYPE bitmap[NETLBL_CATMAP_MAPCNT]; struct netlbl_lsm_catmap *next; }; /** * struct netlbl_lsm_secattr - NetLabel LSM security attributes * @flags: indicate structure attributes, see NETLBL_SECATTR_* * @type: indicate the NLTYPE of the attributes * @domain: the NetLabel LSM domain * @cache: NetLabel LSM specific cache * @attr.mls: MLS sensitivity label * @attr.mls.cat: MLS category bitmap * @attr.mls.lvl: MLS sensitivity level * @attr.secid: LSM specific secid token * * Description: * This structure is used to pass security attributes between NetLabel and the * LSM modules. The flags field is used to specify which fields within the * struct are valid and valid values can be created by bitwise OR'ing the * NETLBL_SECATTR_* defines. The domain field is typically set by the LSM to * specify domain specific configuration settings and is not usually used by * NetLabel itself when returning security attributes to the LSM. * */ struct netlbl_lsm_secattr { u32 flags; /* bitmap values for 'flags' */ #define NETLBL_SECATTR_NONE 0x00000000 #define NETLBL_SECATTR_DOMAIN 0x00000001 #define NETLBL_SECATTR_DOMAIN_CPY (NETLBL_SECATTR_DOMAIN | \ NETLBL_SECATTR_FREE_DOMAIN) #define NETLBL_SECATTR_CACHE 0x00000002 #define NETLBL_SECATTR_MLS_LVL 0x00000004 #define NETLBL_SECATTR_MLS_CAT 0x00000008 #define NETLBL_SECATTR_SECID 0x00000010 /* bitmap meta-values for 'flags' */ #define NETLBL_SECATTR_FREE_DOMAIN 0x01000000 #define NETLBL_SECATTR_CACHEABLE (NETLBL_SECATTR_MLS_LVL | \ NETLBL_SECATTR_MLS_CAT | \ NETLBL_SECATTR_SECID) u32 type; char *domain; struct netlbl_lsm_cache *cache; struct { struct { struct netlbl_lsm_catmap *cat; u32 lvl; } mls; u32 secid; } attr; }; /** * struct netlbl_calipso_ops - NetLabel CALIPSO operations * @doi_add: add a CALIPSO DOI * @doi_free: free a CALIPSO DOI * @doi_getdef: returns a reference to a DOI * @doi_putdef: releases a reference of a DOI * @doi_walk: enumerate the DOI list * @sock_getattr: retrieve the socket's attr * @sock_setattr: set the socket's attr * @sock_delattr: remove the socket's attr * @req_setattr: set the req socket's attr * @req_delattr: remove the req socket's attr * @opt_getattr: retrieve attr from memory block * @skbuff_optptr: find option in packet * @skbuff_setattr: set the skbuff's attr * @skbuff_delattr: remove the skbuff's attr * @cache_invalidate: invalidate cache * @cache_add: add cache entry * * Description: * This structure is filled out by the CALIPSO engine and passed * to the NetLabel core via a call to netlbl_calipso_ops_register(). * It enables the CALIPSO engine (and hence IPv6) to be compiled * as a module. */ struct netlbl_calipso_ops { int (*doi_add)(struct calipso_doi *doi_def, struct netlbl_audit *audit_info); void (*doi_free)(struct calipso_doi *doi_def); int (*doi_remove)(u32 doi, struct netlbl_audit *audit_info); struct calipso_doi *(*doi_getdef)(u32 doi); void (*doi_putdef)(struct calipso_doi *doi_def); int (*doi_walk)(u32 *skip_cnt, int (*callback)(struct calipso_doi *doi_def, void *arg), void *cb_arg); int (*sock_getattr)(struct sock *sk, struct netlbl_lsm_secattr *secattr); int (*sock_setattr)(struct sock *sk, const struct calipso_doi *doi_def, const struct netlbl_lsm_secattr *secattr); void (*sock_delattr)(struct sock *sk); int (*req_setattr)(struct request_sock *req, const struct calipso_doi *doi_def, const struct netlbl_lsm_secattr *secattr); void (*req_delattr)(struct request_sock *req); int (*opt_getattr)(const unsigned char *calipso, struct netlbl_lsm_secattr *secattr); unsigned char *(*skbuff_optptr)(const struct sk_buff *skb); int (*skbuff_setattr)(struct sk_buff *skb, const struct calipso_doi *doi_def, const struct netlbl_lsm_secattr *secattr); int (*skbuff_delattr)(struct sk_buff *skb); void (*cache_invalidate)(void); int (*cache_add)(const unsigned char *calipso_ptr, const struct netlbl_lsm_secattr *secattr); }; /* * LSM security attribute operations (inline) */ /** * netlbl_secattr_cache_alloc - Allocate and initialize a secattr cache * @flags: the memory allocation flags * * Description: * Allocate and initialize a netlbl_lsm_cache structure. Returns a pointer * on success, NULL on failure. * */ static inline struct netlbl_lsm_cache *netlbl_secattr_cache_alloc(gfp_t flags) { struct netlbl_lsm_cache *cache; cache = kzalloc(sizeof(*cache), flags); if (cache) refcount_set(&cache->refcount, 1); return cache; } /** * netlbl_secattr_cache_free - Frees a netlbl_lsm_cache struct * @cache: the struct to free * * Description: * Frees @secattr including all of the internal buffers. * */ static inline void netlbl_secattr_cache_free(struct netlbl_lsm_cache *cache) { if (!refcount_dec_and_test(&cache->refcount)) return; if (cache->free) cache->free(cache->data); kfree(cache); } /** * netlbl_catmap_alloc - Allocate a LSM secattr catmap * @flags: memory allocation flags * * Description: * Allocate memory for a LSM secattr catmap, returns a pointer on success, NULL * on failure. * */ static inline struct netlbl_lsm_catmap *netlbl_catmap_alloc(gfp_t flags) { return kzalloc(sizeof(struct netlbl_lsm_catmap), flags); } /** * netlbl_catmap_free - Free a LSM secattr catmap * @catmap: the category bitmap * * Description: * Free a LSM secattr catmap. * */ static inline void netlbl_catmap_free(struct netlbl_lsm_catmap *catmap) { struct netlbl_lsm_catmap *iter; while (catmap) { iter = catmap; catmap = catmap->next; kfree(iter); } } /** * netlbl_secattr_init - Initialize a netlbl_lsm_secattr struct * @secattr: the struct to initialize * * Description: * Initialize an already allocated netlbl_lsm_secattr struct. * */ static inline void netlbl_secattr_init(struct netlbl_lsm_secattr *secattr) { memset(secattr, 0, sizeof(*secattr)); } /** * netlbl_secattr_destroy - Clears a netlbl_lsm_secattr struct * @secattr: the struct to clear * * Description: * Destroys the @secattr struct, including freeing all of the internal buffers. * The struct must be reset with a call to netlbl_secattr_init() before reuse. * */ static inline void netlbl_secattr_destroy(struct netlbl_lsm_secattr *secattr) { if (secattr->flags & NETLBL_SECATTR_FREE_DOMAIN) kfree(secattr->domain); if (secattr->flags & NETLBL_SECATTR_CACHE) netlbl_secattr_cache_free(secattr->cache); if (secattr->flags & NETLBL_SECATTR_MLS_CAT) netlbl_catmap_free(secattr->attr.mls.cat); } /** * netlbl_secattr_alloc - Allocate and initialize a netlbl_lsm_secattr struct * @flags: the memory allocation flags * * Description: * Allocate and initialize a netlbl_lsm_secattr struct. Returns a valid * pointer on success, or NULL on failure. * */ static inline struct netlbl_lsm_secattr *netlbl_secattr_alloc(gfp_t flags) { return kzalloc(sizeof(struct netlbl_lsm_secattr), flags); } /** * netlbl_secattr_free - Frees a netlbl_lsm_secattr struct * @secattr: the struct to free * * Description: * Frees @secattr including all of the internal buffers. * */ static inline void netlbl_secattr_free(struct netlbl_lsm_secattr *secattr) { netlbl_secattr_destroy(secattr); kfree(secattr); } #ifdef CONFIG_NETLABEL /* * LSM configuration operations */ int netlbl_cfg_map_del(const char *domain, u16 family, const void *addr, const void *mask, struct netlbl_audit *audit_info); int netlbl_cfg_unlbl_map_add(const char *domain, u16 family, const void *addr, const void *mask, struct netlbl_audit *audit_info); int netlbl_cfg_unlbl_static_add(struct net *net, const char *dev_name, const void *addr, const void *mask, u16 family, u32 secid, struct netlbl_audit *audit_info); int netlbl_cfg_unlbl_static_del(struct net *net, const char *dev_name, const void *addr, const void *mask, u16 family, struct netlbl_audit *audit_info); int netlbl_cfg_cipsov4_add(struct cipso_v4_doi *doi_def, struct netlbl_audit *audit_info); void netlbl_cfg_cipsov4_del(u32 doi, struct netlbl_audit *audit_info); int netlbl_cfg_cipsov4_map_add(u32 doi, const char *domain, const struct in_addr *addr, const struct in_addr *mask, struct netlbl_audit *audit_info); int netlbl_cfg_calipso_add(struct calipso_doi *doi_def, struct netlbl_audit *audit_info); void netlbl_cfg_calipso_del(u32 doi, struct netlbl_audit *audit_info); int netlbl_cfg_calipso_map_add(u32 doi, const char *domain, const struct in6_addr *addr, const struct in6_addr *mask, struct netlbl_audit *audit_info); /* * LSM security attribute operations */ int netlbl_catmap_walk(struct netlbl_lsm_catmap *catmap, u32 offset); int netlbl_catmap_walkrng(struct netlbl_lsm_catmap *catmap, u32 offset); int netlbl_catmap_getlong(struct netlbl_lsm_catmap *catmap, u32 *offset, unsigned long *bitmap); int netlbl_catmap_setbit(struct netlbl_lsm_catmap **catmap, u32 bit, gfp_t flags); int netlbl_catmap_setrng(struct netlbl_lsm_catmap **catmap, u32 start, u32 end, gfp_t flags); int netlbl_catmap_setlong(struct netlbl_lsm_catmap **catmap, u32 offset, unsigned long bitmap, gfp_t flags); /* Bitmap functions */ int netlbl_bitmap_walk(const unsigned char *bitmap, u32 bitmap_len, u32 offset, u8 state); void netlbl_bitmap_setbit(unsigned char *bitmap, u32 bit, u8 state); /* * LSM protocol operations (NetLabel LSM/kernel API) */ int netlbl_enabled(void); int netlbl_sock_setattr(struct sock *sk, u16 family, const struct netlbl_lsm_secattr *secattr); void netlbl_sock_delattr(struct sock *sk); int netlbl_sock_getattr(struct sock *sk, struct netlbl_lsm_secattr *secattr); int netlbl_conn_setattr(struct sock *sk, struct sockaddr *addr, const struct netlbl_lsm_secattr *secattr); int netlbl_req_setattr(struct request_sock *req, const struct netlbl_lsm_secattr *secattr); void netlbl_req_delattr(struct request_sock *req); int netlbl_skbuff_setattr(struct sk_buff *skb, u16 family, const struct netlbl_lsm_secattr *secattr); int netlbl_skbuff_getattr(const struct sk_buff *skb, u16 family, struct netlbl_lsm_secattr *secattr); void netlbl_skbuff_err(struct sk_buff *skb, u16 family, int error, int gateway); /* * LSM label mapping cache operations */ void netlbl_cache_invalidate(void); int netlbl_cache_add(const struct sk_buff *skb, u16 family, const struct netlbl_lsm_secattr *secattr); /* * Protocol engine operations */ struct audit_buffer *netlbl_audit_start(int type, struct netlbl_audit *audit_info); #else static inline int netlbl_cfg_map_del(const char *domain, u16 family, const void *addr, const void *mask, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline int netlbl_cfg_unlbl_map_add(const char *domain, u16 family, void *addr, void *mask, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline int netlbl_cfg_unlbl_static_add(struct net *net, const char *dev_name, const void *addr, const void *mask, u16 family, u32 secid, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline int netlbl_cfg_unlbl_static_del(struct net *net, const char *dev_name, const void *addr, const void *mask, u16 family, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline int netlbl_cfg_cipsov4_add(struct cipso_v4_doi *doi_def, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline void netlbl_cfg_cipsov4_del(u32 doi, struct netlbl_audit *audit_info) { return; } static inline int netlbl_cfg_cipsov4_map_add(u32 doi, const char *domain, const struct in_addr *addr, const struct in_addr *mask, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline int netlbl_cfg_calipso_add(struct calipso_doi *doi_def, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline void netlbl_cfg_calipso_del(u32 doi, struct netlbl_audit *audit_info) { return; } static inline int netlbl_cfg_calipso_map_add(u32 doi, const char *domain, const struct in6_addr *addr, const struct in6_addr *mask, struct netlbl_audit *audit_info) { return -ENOSYS; } static inline int netlbl_catmap_walk(struct netlbl_lsm_catmap *catmap, u32 offset) { return -ENOENT; } static inline int netlbl_catmap_walkrng(struct netlbl_lsm_catmap *catmap, u32 offset) { return -ENOENT; } static inline int netlbl_catmap_getlong(struct netlbl_lsm_catmap *catmap, u32 *offset, unsigned long *bitmap) { return 0; } static inline int netlbl_catmap_setbit(struct netlbl_lsm_catmap **catmap, u32 bit, gfp_t flags) { return 0; } static inline int netlbl_catmap_setrng(struct netlbl_lsm_catmap **catmap, u32 start, u32 end, gfp_t flags) { return 0; } static inline int netlbl_catmap_setlong(struct netlbl_lsm_catmap **catmap, u32 offset, unsigned long bitmap, gfp_t flags) { return 0; } static inline int netlbl_enabled(void) { return 0; } static inline int netlbl_sock_setattr(struct sock *sk, u16 family, const struct netlbl_lsm_secattr *secattr) { return -ENOSYS; } static inline void netlbl_sock_delattr(struct sock *sk) { } static inline int netlbl_sock_getattr(struct sock *sk, struct netlbl_lsm_secattr *secattr) { return -ENOSYS; } static inline int netlbl_conn_setattr(struct sock *sk, struct sockaddr *addr, const struct netlbl_lsm_secattr *secattr) { return -ENOSYS; } static inline int netlbl_req_setattr(struct request_sock *req, const struct netlbl_lsm_secattr *secattr) { return -ENOSYS; } static inline void netlbl_req_delattr(struct request_sock *req) { return; } static inline int netlbl_skbuff_setattr(struct sk_buff *skb, u16 family, const struct netlbl_lsm_secattr *secattr) { return -ENOSYS; } static inline int netlbl_skbuff_getattr(const struct sk_buff *skb, u16 family, struct netlbl_lsm_secattr *secattr) { return -ENOSYS; } static inline void netlbl_skbuff_err(struct sk_buff *skb, int error, int gateway) { return; } static inline void netlbl_cache_invalidate(void) { return; } static inline int netlbl_cache_add(const struct sk_buff *skb, u16 family, const struct netlbl_lsm_secattr *secattr) { return 0; } static inline struct audit_buffer *netlbl_audit_start(int type, struct netlbl_audit *audit_info) { return NULL; } #endif /* CONFIG_NETLABEL */ const struct netlbl_calipso_ops * netlbl_calipso_ops_register(const struct netlbl_calipso_ops *ops); #endif /* _NETLABEL_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
9p | Folder | 0755 |
|
|
bluetooth | Folder | 0755 |
|
|
caif | Folder | 0755 |
|
|
iucv | Folder | 0755 |
|
|
netfilter | Folder | 0755 |
|
|
netns | Folder | 0755 |
|
|
nfc | Folder | 0755 |
|
|
phonet | Folder | 0755 |
|
|
sctp | Folder | 0755 |
|
|
tc_act | Folder | 0755 |
|
|
6lowpan.h | File | 10.03 KB | 0644 |
|
Space.h | File | 1.15 KB | 0644 |
|
act_api.h | File | 6.38 KB | 0644 |
|
addrconf.h | File | 12.63 KB | 0644 |
|
af_ieee802154.h | File | 1.55 KB | 0644 |
|
af_rxrpc.h | File | 2.79 KB | 0644 |
|
af_unix.h | File | 2.22 KB | 0644 |
|
af_vsock.h | File | 7.21 KB | 0644 |
|
ah.h | File | 382 B | 0644 |
|
arp.h | File | 2 KB | 0644 |
|
atmclip.h | File | 1.48 KB | 0644 |
|
ax25.h | File | 15.02 KB | 0644 |
|
ax88796.h | File | 998 B | 0644 |
|
bond_3ad.h | File | 9.79 KB | 0644 |
|
bond_alb.h | File | 6.6 KB | 0644 |
|
bond_options.h | File | 3.92 KB | 0644 |
|
bonding.h | File | 19.1 KB | 0644 |
|
busy_poll.h | File | 3.81 KB | 0644 |
|
calipso.h | File | 2.15 KB | 0644 |
|
cfg80211-wext.h | File | 1.95 KB | 0644 |
|
cfg80211.h | File | 221.24 KB | 0644 |
|
cfg802154.h | File | 10.89 KB | 0644 |
|
checksum.h | File | 4.76 KB | 0644 |
|
cipso_ipv4.h | File | 8.2 KB | 0644 |
|
cls_cgroup.h | File | 2.15 KB | 0644 |
|
codel.h | File | 5.65 KB | 0644 |
|
codel_impl.h | File | 7.98 KB | 0644 |
|
codel_qdisc.h | File | 2.9 KB | 0644 |
|
compat.h | File | 2.11 KB | 0644 |
|
datalink.h | File | 619 B | 0644 |
|
dcbevent.h | File | 1.26 KB | 0644 |
|
dcbnl.h | File | 4.2 KB | 0644 |
|
devlink.h | File | 13.25 KB | 0644 |
|
dn.h | File | 6.88 KB | 0644 |
|
dn_dev.h | File | 5.36 KB | 0644 |
|
dn_fib.h | File | 3.98 KB | 0644 |
|
dn_neigh.h | File | 968 B | 0644 |
|
dn_nsp.h | File | 5.83 KB | 0644 |
|
dn_route.h | File | 4.36 KB | 0644 |
|
dsa.h | File | 13.94 KB | 0644 |
|
dsfield.h | File | 1.11 KB | 0644 |
|
dst.h | File | 13.48 KB | 0644 |
|
dst_cache.h | File | 2.53 KB | 0644 |
|
dst_metadata.h | File | 5.39 KB | 0644 |
|
dst_ops.h | File | 2 KB | 0644 |
|
erspan.h | File | 2.11 KB | 0644 |
|
esp.h | File | 877 B | 0644 |
|
ethoc.h | File | 538 B | 0644 |
|
fib_notifier.h | File | 1.29 KB | 0644 |
|
fib_rules.h | File | 4.18 KB | 0644 |
|
firewire.h | File | 636 B | 0644 |
|
flow.h | File | 6.16 KB | 0644 |
|
flow_dissector.h | File | 7.55 KB | 0644 |
|
fou.h | File | 549 B | 0644 |
|
fq.h | File | 2.67 KB | 0644 |
|
fq_impl.h | File | 6.9 KB | 0644 |
|
garp.h | File | 2.62 KB | 0644 |
|
gen_stats.h | File | 2.34 KB | 0644 |
|
genetlink.h | File | 11.3 KB | 0644 |
|
geneve.h | File | 1.67 KB | 0644 |
|
gre.h | File | 2.99 KB | 0644 |
|
gro_cells.h | File | 443 B | 0644 |
|
gtp.h | File | 633 B | 0644 |
|
gue.h | File | 3.23 KB | 0644 |
|
hwbm.h | File | 937 B | 0644 |
|
icmp.h | File | 2.01 KB | 0644 |
|
ieee80211_radiotap.h | File | 6.63 KB | 0644 |
|
ieee802154_netdev.h | File | 10.24 KB | 0644 |
|
if_inet6.h | File | 6.13 KB | 0644 |
|
ife.h | File | 1.06 KB | 0644 |
|
ila.h | File | 498 B | 0644 |
|
inet6_connection_sock.h | File | 976 B | 0644 |
|
inet6_hashtables.h | File | 3.7 KB | 0644 |
|
inet_common.h | File | 1.89 KB | 0644 |
|
inet_connection_sock.h | File | 10.48 KB | 0644 |
|
inet_ecn.h | File | 6.02 KB | 0644 |
|
inet_frag.h | File | 4.51 KB | 0644 |
|
inet_hashtables.h | File | 12.91 KB | 0644 |
|
inet_sock.h | File | 8.25 KB | 0644 |
|
inet_timewait_sock.h | File | 3.82 KB | 0644 |
|
inetpeer.h | File | 3.29 KB | 0644 |
|
ip.h | File | 18.51 KB | 0644 |
|
ip6_checksum.h | File | 2.89 KB | 0644 |
|
ip6_fib.h | File | 10.04 KB | 0644 |
|
ip6_route.h | File | 7.63 KB | 0644 |
|
ip6_tunnel.h | File | 4.72 KB | 0644 |
|
ip_fib.h | File | 10.72 KB | 0644 |
|
ip_tunnels.h | File | 13.61 KB | 0644 |
|
ip_vs.h | File | 46.78 KB | 0644 |
|
ipcomp.h | File | 659 B | 0644 |
|
ipconfig.h | File | 811 B | 0644 |
|
ipv6.h | File | 29.97 KB | 0644 |
|
ipv6_frag.h | File | 2.54 KB | 0644 |
|
ipx.h | File | 4.4 KB | 0644 |
|
iw_handler.h | File | 20.91 KB | 0644 |
|
kcm.h | File | 4.96 KB | 0644 |
|
l3mdev.h | File | 5.86 KB | 0644 |
|
lapb.h | File | 4.75 KB | 0644 |
|
lib80211.h | File | 3.92 KB | 0644 |
|
llc.h | File | 4.41 KB | 0644 |
|
llc_c_ac.h | File | 9.31 KB | 0644 |
|
llc_c_ev.h | File | 10.68 KB | 0644 |
|
llc_c_st.h | File | 1.72 KB | 0644 |
|
llc_conn.h | File | 4.06 KB | 0644 |
|
llc_if.h | File | 2.16 KB | 0644 |
|
llc_pdu.h | File | 14.44 KB | 0644 |
|
llc_s_ac.h | File | 1.55 KB | 0644 |
|
llc_s_ev.h | File | 2.2 KB | 0644 |
|
llc_s_st.h | File | 947 B | 0644 |
|
llc_sap.h | File | 1.08 KB | 0644 |
|
lwtunnel.h | File | 5.84 KB | 0644 |
|
mac80211.h | File | 230.36 KB | 0644 |
|
mac802154.h | File | 15.27 KB | 0644 |
|
mip6.h | File | 1.58 KB | 0644 |
|
mld.h | File | 2.8 KB | 0644 |
|
mpls.h | File | 932 B | 0644 |
|
mpls_iptunnel.h | File | 827 B | 0644 |
|
mrp.h | File | 3.05 KB | 0644 |
|
ncsi.h | File | 1.92 KB | 0644 |
|
ndisc.h | File | 13.77 KB | 0644 |
|
neighbour.h | File | 15.06 KB | 0644 |
|
net_namespace.h | File | 10.08 KB | 0644 |
|
net_ratelimit.h | File | 220 B | 0644 |
|
netevent.h | File | 910 B | 0644 |
|
netlabel.h | File | 20.74 KB | 0644 |
|
netlink.h | File | 40.39 KB | 0644 |
|
netprio_cgroup.h | File | 1.24 KB | 0644 |
|
netrom.h | File | 7.68 KB | 0644 |
|
nexthop.h | File | 865 B | 0644 |
|
nl802154.h | File | 12.09 KB | 0644 |
|
nsh.h | File | 12.31 KB | 0644 |
|
p8022.h | File | 447 B | 0644 |
|
ping.h | File | 3.45 KB | 0644 |
|
pkt_cls.h | File | 17.34 KB | 0644 |
|
pkt_sched.h | File | 4.05 KB | 0644 |
|
pptp.h | File | 557 B | 0644 |
|
protocol.h | File | 3.89 KB | 0644 |
|
psample.h | File | 860 B | 0644 |
|
psnap.h | File | 351 B | 0644 |
|
raw.h | File | 2.07 KB | 0644 |
|
rawv6.h | File | 854 B | 0644 |
|
red.h | File | 10.45 KB | 0644 |
|
regulatory.h | File | 10.12 KB | 0644 |
|
request_sock.h | File | 6.46 KB | 0644 |
|
rose.h | File | 7.62 KB | 0644 |
|
route.h | File | 10.02 KB | 0644 |
|
rtnetlink.h | File | 6.13 KB | 0644 |
|
sch_generic.h | File | 23.3 KB | 0644 |
|
scm.h | File | 3.5 KB | 0644 |
|
secure_seq.h | File | 855 B | 0644 |
|
seg6.h | File | 1.66 KB | 0644 |
|
seg6_hmac.h | File | 1.65 KB | 0644 |
|
slhc_vj.h | File | 6.67 KB | 0644 |
|
smc.h | File | 440 B | 0644 |
|
snmp.h | File | 5.23 KB | 0644 |
|
sock.h | File | 70.05 KB | 0644 |
|
sock_reuseport.h | File | 863 B | 0644 |
|
stp.h | File | 383 B | 0644 |
|
strparser.h | File | 3.75 KB | 0644 |
|
switchdev.h | File | 6.52 KB | 0644 |
|
tcp.h | File | 62.88 KB | 0644 |
|
tcp_states.h | File | 1.26 KB | 0644 |
|
timewait_sock.h | File | 1.11 KB | 0644 |
|
tipc.h | File | 2.34 KB | 0644 |
|
tls.h | File | 7.12 KB | 0644 |
|
transp_v6.h | File | 2.08 KB | 0644 |
|
tso.h | File | 515 B | 0644 |
|
tun_proto.h | File | 988 B | 0644 |
|
udp.h | File | 12.87 KB | 0644 |
|
udp_tunnel.h | File | 5.12 KB | 0644 |
|
udplite.h | File | 3.83 KB | 0644 |
|
vsock_addr.h | File | 1.05 KB | 0644 |
|
vxlan.h | File | 10.43 KB | 0644 |
|
wext.h | File | 1.51 KB | 0644 |
|
wimax.h | File | 19.97 KB | 0644 |
|
x25.h | File | 9.43 KB | 0644 |
|
x25device.h | File | 387 B | 0644 |
|
xfrm.h | File | 53.72 KB | 0644 |
|