genl_family
Regular
4.4
: ✅struct genl_family {
unsigned int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct list_head family_list;
struct module *module;
};
4.8
: ✅struct genl_family {
unsigned int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct list_head family_list;
struct module *module;
};
4.10
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
4.13
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
4.15
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
4.18
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
5.0
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
5.3
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
5.4
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
5.8
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
5.11
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
unsigned int mcgrp_offset;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_mcgrps;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
};
5.13
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
unsigned int mcgrp_offset;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_mcgrps;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
};
5.15
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
unsigned int mcgrp_offset;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_mcgrps;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
};
5.19
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
unsigned int mcgrp_offset;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_mcgrps;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
};
6.2
: ✅struct genl_family {
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_split_ops;
u8 n_mcgrps;
u8 resv_start_op;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_split_ops *split_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
int id;
unsigned int mcgrp_offset;
};
6.5
: ✅struct genl_family {
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_split_ops;
u8 n_mcgrps;
u8 resv_start_op;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_split_ops *split_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
int id;
unsigned int mcgrp_offset;
};
6.8
: ✅struct genl_family {
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
u8 netnsok;
u8 parallel_ops;
u8 n_ops;
u8 n_small_ops;
u8 n_split_ops;
u8 n_mcgrps;
u8 resv_start_op;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);
const struct genl_ops *ops;
const struct genl_small_ops *small_ops;
const struct genl_split_ops *split_ops;
const struct genl_multicast_group *mcgrps;
struct module *module;
size_t sock_priv_size;
void (*sock_priv_init)(void *);
void (*sock_priv_destroy)(void *);
int id;
unsigned int mcgrp_offset;
struct xarray *sock_privs;
};
arm64
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
armhf
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
ppc64el
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
riscv64
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
aws
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
azure
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
gcp
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
lowlatency
: ✅struct genl_family {
int id;
unsigned int hdrsize;
char name[16];
unsigned int version;
unsigned int maxattr;
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *);
int (*mcast_bind)(struct net *, int);
void (*mcast_unbind)(struct net *, int);
struct nlattr **attrbuf;
const struct genl_ops *ops;
const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
unsigned int mcgrp_offset;
struct module *module;
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
⚠️struct list_head family_list
unsigned int id
➡️ int id
4.10
and 4.13
✅
4.13
and 4.15
✅
4.15
and 4.18
✅
4.18
and 5.0
✅
5.0
and 5.3
⚠️const struct nla_policy *policy
5.3
and 5.4
✅
5.4
and 5.8
⚠️int (*mcast_bind)(struct net *, int)
void (*mcast_unbind)(struct net *, int)
struct nlattr **attrbuf
5.8
and 5.11
⚠️u8 n_small_ops
const struct genl_small_ops *small_ops
bool netnsok
➡️ u8 netnsok
bool parallel_ops
➡️ u8 parallel_ops
unsigned int n_ops
➡️ u8 n_ops
unsigned int n_mcgrps
➡️ u8 n_mcgrps
5.11
and 5.13
✅
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
⚠️u8 n_split_ops
u8 resv_start_op
const struct genl_split_ops *split_ops
int (*pre_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *)
➡️ int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *)
void (*post_doit)(const struct genl_ops *, struct sk_buff *, struct genl_info *)
➡️ void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *)
6.2
and 6.5
✅
6.5
and 6.8
⚠️size_t sock_priv_size
void (*sock_priv_init)(void *)
void (*sock_priv_destroy)(void *)
struct xarray *sock_privs
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅