aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2015-07-21 10:44:01 +0200
committerDavid S. Miller <davem@davemloft.net>2015-07-21 10:39:06 -0700
commite7030878fc8448492b6e5cecd574043f63271298 (patch)
tree93a7e8a5ab3b5a0633c71d2684186114ab40b7e2 /drivers/net/vxlan.c
parentroute: Per route IP tunnel metadata via lightweight tunnel (diff)
downloadlinux-dev-e7030878fc8448492b6e5cecd574043f63271298.tar.xz
linux-dev-e7030878fc8448492b6e5cecd574043f63271298.zip
fib: Add fib rule match on tunnel id
This add the ability to select a routing table based on the tunnel id which allows to maintain separate routing tables for each virtual tunnel network. ip rule add from all tunnel-id 100 lookup 100 ip rule add from all tunnel-id 200 lookup 200 A new static key controls the collection of metadata at tunnel level upon demand. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r--drivers/net/vxlan.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 9486d7ec128c..2587ac84f71a 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -143,7 +143,8 @@ static struct workqueue_struct *vxlan_wq;
static inline bool vxlan_collect_metadata(struct vxlan_sock *vs)
{
- return vs->flags & VXLAN_F_COLLECT_METADATA;
+ return vs->flags & VXLAN_F_COLLECT_METADATA ||
+ ip_tunnel_collect_metadata();
}
#if IS_ENABLED(CONFIG_IPV6)