You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
openvswitch: Add support for network namespaces.
Following patch adds support for network namespace to openvswitch. Since it must release devices when namespaces are destroyed, a side effect of this patch is that the module no longer keeps a refcount but instead cleans up any state when it is unloaded. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
committed by
Jesse Gross
parent
0d7614f09c
commit
46df7b8145
@@ -27,8 +27,7 @@
|
||||
#include <linux/u64_stats_sync.h>
|
||||
|
||||
#include "flow.h"
|
||||
|
||||
struct vport;
|
||||
#include "vport.h"
|
||||
|
||||
#define DP_MAX_PORTS 1024
|
||||
#define SAMPLE_ACTION_DEPTH 3
|
||||
@@ -63,6 +62,7 @@ struct dp_stats_percpu {
|
||||
* @port_list: List of all ports in @ports in arbitrary order. RTNL required
|
||||
* to iterate or modify.
|
||||
* @stats_percpu: Per-CPU datapath statistics.
|
||||
* @net: Reference to net namespace.
|
||||
*
|
||||
* Context: See the comment on locking at the top of datapath.c for additional
|
||||
* locking information.
|
||||
@@ -80,6 +80,11 @@ struct datapath {
|
||||
|
||||
/* Stats. */
|
||||
struct dp_stats_percpu __percpu *stats_percpu;
|
||||
|
||||
#ifdef CONFIG_NET_NS
|
||||
/* Network namespace ref. */
|
||||
struct net *net;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -108,6 +113,16 @@ struct dp_upcall_info {
|
||||
u32 pid;
|
||||
};
|
||||
|
||||
static inline struct net *ovs_dp_get_net(struct datapath *dp)
|
||||
{
|
||||
return read_pnet(&dp->net);
|
||||
}
|
||||
|
||||
static inline void ovs_dp_set_net(struct datapath *dp, struct net *net)
|
||||
{
|
||||
write_pnet(&dp->net, net);
|
||||
}
|
||||
|
||||
extern struct notifier_block ovs_dp_device_notifier;
|
||||
extern struct genl_multicast_group ovs_dp_vport_multicast_group;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user