diff options
author | Robert Shearman <rshearma@brocade.com> | 2015-04-22 11:14:37 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-22 14:24:54 -0400 |
commit | 03c57747a7020a28a200e7e920fb48ecdc9b0fb8 (patch) | |
tree | 012bd8131aa759a62667ea02fe87fa3328b16d65 /include | |
parent | 909d9faae2a447110aa061070145297fffe129cb (diff) | |
download | linux-03c57747a7020a28a200e7e920fb48ecdc9b0fb8.tar.gz linux-03c57747a7020a28a200e7e920fb48ecdc9b0fb8.tar.bz2 linux-03c57747a7020a28a200e7e920fb48ecdc9b0fb8.zip |
mpls: Per-device MPLS state
Add per-device MPLS state to supported interfaces. Use the presence of
this state in mpls_route_add to determine that this is a supported
interface.
Use the presence of mpls_dev to drop packets that arrived on an
unsupported interface - previously they were allowed through.
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Robert Shearman <rshearma@brocade.com>
Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netdevice.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index bcbde799ec69..dae106a3a998 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -60,6 +60,7 @@ struct phy_device; struct wireless_dev; /* 802.15.4 specific */ struct wpan_dev; +struct mpls_dev; void netdev_set_default_ethtool_ops(struct net_device *dev, const struct ethtool_ops *ops); @@ -1627,6 +1628,9 @@ struct net_device { void *ax25_ptr; struct wireless_dev *ieee80211_ptr; struct wpan_dev *ieee802154_ptr; +#if IS_ENABLED(CONFIG_MPLS_ROUTING) + struct mpls_dev __rcu *mpls_ptr; +#endif /* * Cache lines mostly used on receive path (including eth_type_trans()) |