Lines Matching refs:net
61 struct net { struct
204 extern struct net init_net; argument
207 struct net *copy_net_ns(unsigned long flags, struct user_namespace *user_ns,
208 struct net *old_net);
210 void net_ns_get_ownership(const struct net *net, kuid_t *uid, kgid_t *gid);
215 struct net *get_net_ns_by_fd(int fd);
221 static inline struct net *copy_net_ns(unsigned long flags, in copy_net_ns()
222 struct user_namespace *user_ns, struct net *old_net) in copy_net_ns()
229 static inline void net_ns_get_ownership(const struct net *net, in net_ns_get_ownership() argument
243 static inline struct net *get_net_ns_by_fd(int fd) in get_net_ns_by_fd()
252 struct net *get_net_ns_by_pid(pid_t pid);
263 void __put_net(struct net *net);
266 static inline struct net *get_net(struct net *net) in get_net() argument
268 refcount_inc(&net->ns.count); in get_net()
269 return net; in get_net()
272 static inline struct net *maybe_get_net(struct net *net) in maybe_get_net() argument
279 if (!refcount_inc_not_zero(&net->ns.count)) in maybe_get_net()
280 net = NULL; in maybe_get_net()
281 return net; in maybe_get_net()
285 static inline void put_net(struct net *net) in put_net() argument
287 if (refcount_dec_and_test(&net->ns.count)) in put_net()
288 __put_net(net); in put_net()
292 int net_eq(const struct net *net1, const struct net *net2) in net_eq()
297 static inline int check_net(const struct net *net) in check_net() argument
299 return refcount_read(&net->ns.count) != 0; in check_net()
303 void net_passive_dec(struct net *net);
307 static inline struct net *get_net(struct net *net) in get_net() argument
309 return net; in get_net()
312 static inline void put_net(struct net *net) in put_net() argument
316 static inline struct net *maybe_get_net(struct net *net) in maybe_get_net() argument
318 return net; in maybe_get_net()
322 int net_eq(const struct net *net1, const struct net *net2) in net_eq()
327 static inline int check_net(const struct net *net) in check_net() argument
334 static inline void net_passive_dec(struct net *net) in net_passive_dec() argument
336 refcount_dec(&net->passive); in net_passive_dec()
340 static inline void net_passive_inc(struct net *net) in net_passive_inc() argument
342 refcount_inc(&net->passive); in net_passive_inc()
346 static inline bool net_initialized(const struct net *net) in net_initialized() argument
348 return READ_ONCE(net->list.next); in net_initialized()
351 static inline void __netns_tracker_alloc(struct net *net, in __netns_tracker_alloc() argument
357 ref_tracker_alloc(refcounted ? &net->refcnt_tracker : in __netns_tracker_alloc()
358 &net->notrefcnt_tracker, in __netns_tracker_alloc()
363 static inline void netns_tracker_alloc(struct net *net, netns_tracker *tracker, in netns_tracker_alloc() argument
366 __netns_tracker_alloc(net, tracker, true, gfp); in netns_tracker_alloc()
369 static inline void __netns_tracker_free(struct net *net, in __netns_tracker_free() argument
374 ref_tracker_free(refcounted ? &net->refcnt_tracker : in __netns_tracker_free()
375 &net->notrefcnt_tracker, tracker); in __netns_tracker_free()
379 static inline struct net *get_net_track(struct net *net, in get_net_track() argument
382 get_net(net); in get_net_track()
383 netns_tracker_alloc(net, tracker, gfp); in get_net_track()
384 return net; in get_net_track()
387 static inline void put_net_track(struct net *net, netns_tracker *tracker) in put_net_track() argument
389 __netns_tracker_free(net, tracker, true); in put_net_track()
390 put_net(net); in put_net_track()
395 struct net __rcu *net; member
399 static inline void write_pnet(possible_net_t *pnet, struct net *net) in write_pnet() argument
402 rcu_assign_pointer(pnet->net, net); in write_pnet()
406 static inline struct net *read_pnet(const possible_net_t *pnet) in read_pnet()
409 return rcu_dereference_protected(pnet->net, true); in read_pnet()
415 static inline struct net *read_pnet_rcu(const possible_net_t *pnet) in read_pnet_rcu()
418 return rcu_dereference(pnet->net); in read_pnet_rcu()
444 int peernet2id_alloc(struct net *net, struct net *peer, gfp_t gfp);
445 int peernet2id(const struct net *net, struct net *peer);
446 bool peernet_has_id(const struct net *net, struct net *peer);
447 struct net *get_net_ns_by_id(const struct net *net, int id);
473 int (*init)(struct net *net);
474 void (*pre_exit)(struct net *net);
475 void (*exit)(struct net *net);
478 void (*exit_rtnl)(struct net *net,
510 #define register_net_sysctl(net, path, table) \ argument
511 register_net_sysctl_sz(net, path, table, ARRAY_SIZE(table))
514 struct ctl_table_header *register_net_sysctl_sz(struct net *net, const char *path,
519 static inline struct ctl_table_header *register_net_sysctl_sz(struct net *net, in register_net_sysctl_sz() argument
529 static inline int rt_genid_ipv4(const struct net *net) in rt_genid_ipv4() argument
531 return atomic_read(&net->ipv4.rt_genid); in rt_genid_ipv4()
535 static inline int rt_genid_ipv6(const struct net *net) in rt_genid_ipv6() argument
537 return atomic_read(&net->ipv6.fib6_sernum); in rt_genid_ipv6()
541 static inline void rt_genid_bump_ipv4(struct net *net) in rt_genid_bump_ipv4() argument
543 atomic_inc(&net->ipv4.rt_genid); in rt_genid_bump_ipv4()
546 extern void (*__fib6_flush_trees)(struct net *net);
547 static inline void rt_genid_bump_ipv6(struct net *net) in rt_genid_bump_ipv6() argument
550 __fib6_flush_trees(net); in rt_genid_bump_ipv6()
555 net_ieee802154_lowpan(struct net *net) in net_ieee802154_lowpan() argument
557 return &net->ieee802154_lowpan; in net_ieee802154_lowpan()
562 static inline void rt_genid_bump_all(struct net *net) in rt_genid_bump_all() argument
564 rt_genid_bump_ipv4(net); in rt_genid_bump_all()
565 rt_genid_bump_ipv6(net); in rt_genid_bump_all()
568 static inline int fnhe_genid(const struct net *net) in fnhe_genid() argument
570 return atomic_read(&net->fnhe_genid); in fnhe_genid()
573 static inline void fnhe_genid_bump(struct net *net) in fnhe_genid_bump() argument
575 atomic_inc(&net->fnhe_genid); in fnhe_genid_bump()