mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
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 <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
3093fbe7ff
commit
e7030878fc
6 changed files with 53 additions and 4 deletions
|
|
@ -32,6 +32,7 @@
|
|||
#include <linux/etherdevice.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/static_key.h>
|
||||
|
||||
#include <net/ip.h>
|
||||
#include <net/icmp.h>
|
||||
|
|
@ -304,3 +305,18 @@ static void __exit ip_tunnel_core_exit(void)
|
|||
lwtunnel_encap_del_ops(&ip_tun_lwt_ops, LWTUNNEL_ENCAP_IP);
|
||||
}
|
||||
module_exit(ip_tunnel_core_exit);
|
||||
|
||||
struct static_key ip_tunnel_metadata_cnt = STATIC_KEY_INIT_FALSE;
|
||||
EXPORT_SYMBOL(ip_tunnel_metadata_cnt);
|
||||
|
||||
void ip_tunnel_need_metadata(void)
|
||||
{
|
||||
static_key_slow_inc(&ip_tunnel_metadata_cnt);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ip_tunnel_need_metadata);
|
||||
|
||||
void ip_tunnel_unneed_metadata(void)
|
||||
{
|
||||
static_key_slow_dec(&ip_tunnel_metadata_cnt);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ip_tunnel_unneed_metadata);
|
||||
|
|
|
|||
Loading…
Reference in a new issue