.. | .. |
---|
33 | 33 | * |
---|
34 | 34 | * @list: Used internally |
---|
35 | 35 | * @kind: Identifier |
---|
| 36 | + * @netns_refund: Physical device, move to init_net on netns exit |
---|
36 | 37 | * @maxtype: Highest device specific netlink attribute number |
---|
37 | 38 | * @policy: Netlink policy for device specific attribute validation |
---|
38 | 39 | * @validate: Optional validation function for netlink/changelink parameters |
---|
.. | .. |
---|
64 | 65 | size_t priv_size; |
---|
65 | 66 | void (*setup)(struct net_device *dev); |
---|
66 | 67 | |
---|
| 68 | + bool netns_refund; |
---|
67 | 69 | unsigned int maxtype; |
---|
68 | 70 | const struct nla_policy *policy; |
---|
69 | 71 | int (*validate)(struct nlattr *tb[], |
---|
.. | .. |
---|
159 | 161 | struct net_device *rtnl_create_link(struct net *net, const char *ifname, |
---|
160 | 162 | unsigned char name_assign_type, |
---|
161 | 163 | const struct rtnl_link_ops *ops, |
---|
162 | | - struct nlattr *tb[]); |
---|
| 164 | + struct nlattr *tb[], |
---|
| 165 | + struct netlink_ext_ack *extack); |
---|
163 | 166 | int rtnl_delete_link(struct net_device *dev); |
---|
164 | 167 | int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm); |
---|
165 | 168 | |
---|
166 | 169 | int rtnl_nla_parse_ifla(struct nlattr **tb, const struct nlattr *head, int len, |
---|
167 | 170 | struct netlink_ext_ack *exterr); |
---|
| 171 | +struct net *rtnl_get_net_ns_capable(struct sock *sk, int netnsid); |
---|
168 | 172 | |
---|
169 | 173 | #define MODULE_ALIAS_RTNL_LINK(kind) MODULE_ALIAS("rtnl-link-" kind) |
---|
170 | 174 | |
---|