[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1423100070-31848-2-git-send-email-dsahern@gmail.com>
Date: Wed, 4 Feb 2015 18:34:02 -0700
From: David Ahern <dsahern@...il.com>
To: netdev@...r.kernel.org
Cc: ebiederm@...ssion.com, David Ahern <dsahern@...il.com>
Subject: [RFC PATCH 01/29] net: Introduce net_ctx and macro for context comparison
For now the network context is just the namespace. A later patch adds
a vrf context.
Signed-off-by: David Ahern <dsahern@...il.com>
---
include/net/net_namespace.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 36faf4990c4b..b932f2a83865 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -134,11 +134,19 @@ struct net {
atomic_t fnhe_genid;
};
+struct net_ctx {
+#ifdef CONFIG_NET_NS
+ struct net *net;
+#endif
+};
+
#include <linux/seq_file_net.h>
/* Init's network namespace */
extern struct net init_net;
+#define INIT_NET_CTX { .net = &init_net }
+
#ifdef CONFIG_NET_NS
struct net *copy_net_ns(unsigned long flags, struct user_namespace *user_ns,
struct net *old_net);
@@ -202,6 +210,13 @@ int net_eq(const struct net *net1, const struct net *net2)
return net1 == net2;
}
+static inline
+int net_ctx_eq(struct net_ctx *ctx1, struct net_ctx *ctx2)
+{
+ return net_eq(ctx1->net, ctx2->net);
+}
+
+
void net_drop_ns(void *);
#else
@@ -226,6 +241,12 @@ int net_eq(const struct net *net1, const struct net *net2)
return 1;
}
+static inline
+int net_ctx_eq(struct net_ctx *ctx1, struct net_ctx *ctx2)
+{
+ return 1;
+}
+
#define net_drop_ns NULL
#endif
--
1.9.3 (Apple Git-50)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists