]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/net/net_namespace.h
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux.git] / include / net / net_namespace.h
index a56bf7fc7c2beb4da312db86195b45e27eac23b6..4a9da951a794efbf9183c0a2e3d3ca94ec88f9d5 100644 (file)
@@ -19,6 +19,7 @@
 #include <net/netns/packet.h>
 #include <net/netns/ipv4.h>
 #include <net/netns/ipv6.h>
+#include <net/netns/nexthop.h>
 #include <net/netns/ieee802154_6lowpan.h>
 #include <net/netns/sctp.h>
 #include <net/netns/dccp.h>
@@ -111,6 +112,7 @@ struct net {
        struct netns_mib        mib;
        struct netns_packet     packet;
        struct netns_unix       unx;
+       struct netns_nexthop    nexthop;
        struct netns_ipv4       ipv4;
 #if IS_ENABLED(CONFIG_IPV6)
        struct netns_ipv6       ipv6;
@@ -356,8 +358,13 @@ struct pernet_operations {
         * synchronize_rcu() related to these pernet_operations,
         * instead of separate synchronize_rcu() for every net.
         * Please, avoid synchronize_rcu() at all, where it's possible.
+        *
+        * Note that a combination of pre_exit() and exit() can
+        * be used, since a synchronize_rcu() is guaranteed between
+        * the calls.
         */
        int (*init)(struct net *net);
+       void (*pre_exit)(struct net *net);
        void (*exit)(struct net *net);
        void (*exit_batch)(struct list_head *net_exit_list);
        unsigned int *id;