From: David Ahern <dsa@cumulusnetworks.com>
To: nicolas.dichtel@6wind.com, netdev@vger.kernel.org
Cc: shm@cumulusnetworks.com, roopa@cumulusnetworks.com,
gospo@cumulusnetworks.com, jtoppins@cumulusnetworks.com,
nikolay@cumulusnetworks.com, ddutt@cumulusnetworks.com,
hannes@stressinduktion.org, stephen@networkplumber.org,
hadi@mojatatu.com, ebiederm@xmission.com, davem@davemloft.net
Subject: Re: [RFC net-next 2/6] net: Preparation for vrf device
Date: Wed, 08 Jul 2015 10:10:57 -0600 [thread overview]
Message-ID: <559D4B91.7020600@cumulusnetworks.com> (raw)
In-Reply-To: <559CE136.7060407@6wind.com>
On 7/8/15 2:37 AM, Nicolas Dichtel wrote:
> Le 06/07/2015 17:03, David Ahern a écrit :
>> Add a VRF_MASTER flag for interfaces and helper functions for determining
>> if a device is a VRF_MASTER.
>>
>> Also, add link attribute for passing VRF_TABLE id.
>>
>> Both are used in the following patch that adds a VRF device driver.
>>
>> Signed-off-by: Shrijeet Mukherjee <shm@cumulusnetworks.com>
>> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
>> ---
>> include/linux/netdevice.h | 21 +++++++++++++++++++++
>> include/uapi/linux/if_link.h | 9 +++++++++
>> 2 files changed, 30 insertions(+)
>>
>> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
>> index e20979dfd6a9..142cb64f139c 100644
>> --- a/include/linux/netdevice.h
>> +++ b/include/linux/netdevice.h
>> @@ -1274,6 +1274,7 @@ enum netdev_priv_flags {
>> IFF_XMIT_DST_RELEASE_PERM = 1<<22,
>> IFF_IPVLAN_MASTER = 1<<23,
>> IFF_IPVLAN_SLAVE = 1<<24,
>> + IFF_VRF_MASTER = 1<<25,
> nit: use tab instead space here ^^^^^^^
>
> Also, why calling this '_MASTER', is there a notion of SLAVE?
>
>> };
>>
>> #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
>> @@ -1301,6 +1302,7 @@ enum netdev_priv_flags {
>> #define IFF_XMIT_DST_RELEASE_PERM IFF_XMIT_DST_RELEASE_PERM
>> #define IFF_IPVLAN_MASTER IFF_IPVLAN_MASTER
>> #define IFF_IPVLAN_SLAVE IFF_IPVLAN_SLAVE
>> +#define IFF_VRF_MASTER IFF_VRF_MASTER
> nit: use tab instead space here ^^^^^^^
>
>>
>> /**
>> * struct net_device - The DEVICE structure.
>> @@ -1417,6 +1419,7 @@ enum netdev_priv_flags {
>> * @dn_ptr: DECnet specific data
>> * @ip6_ptr: IPv6 specific data
>> * @ax25_ptr: AX.25 specific data
>> + * @vrf_ptr: VRF specific data
>> * @ieee80211_ptr: IEEE 802.11 specific data, assign before
>> registering
>> *
>> * @last_rx: Time of last Rx
>> @@ -1629,6 +1632,7 @@ struct net_device {
>> struct dn_dev __rcu *dn_ptr;
>> struct inet6_dev __rcu *ip6_ptr;
>> void *ax25_ptr;
>> + struct net_vrf_dev *vrf_ptr;
> nit: use tab here ^^^^^^
>
>> struct wireless_dev *ieee80211_ptr;
>> struct wpan_dev *ieee802154_ptr;
>> #if IS_ENABLED(CONFIG_MPLS_ROUTING)
>> @@ -3781,6 +3785,23 @@ static inline bool netif_supports_nofcs(struct
>> net_device *dev)
>> return dev->priv_flags & IFF_SUPP_NOFCS;
>> }
>>
>> +static inline bool netif_is_vrf(struct net_device *dev)
>> +{
>> + return dev->priv_flags & IFF_VRF_MASTER;
>> +}
>> +
>> +static inline bool netif_idx_is_vrf(struct net *net, int idx)
> Usally, the index of an interface is named 'ifindex', it eases code reading
> to keep the same name. Something like:
> netif_index_is_vrf(struct net *net, int ifindex)
>
>> +{
>> + struct net_device *dev = dev_get_by_index(net, idx);
>> + bool rc = false;
>> +
>> + if (dev) {
>> + rc = netif_is_vrf(dev);
>> + dev_put(dev);
>> + }
>> + return rc;
>> +}
>> +
> [snip]
ack on all comments. Updated patch.
next prev parent reply other threads:[~2015-07-08 16:11 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 15:03 [RFC net-next 0/6] Proposal for VRF-lite - v2 David Ahern
2015-07-06 15:03 ` [RFC net-next 1/6] fib: export symbols David Ahern
2015-07-06 15:03 ` [RFC net-next 2/6] net: Preparation for vrf device David Ahern
2015-07-08 8:37 ` Nicolas Dichtel
2015-07-08 8:40 ` Nicolas Dichtel
2015-07-08 16:10 ` David Ahern [this message]
2015-07-06 15:03 ` [RFC net-next 3/6] net: Introduce VRF device driver - v2 David Ahern
2015-07-06 15:42 ` Nicolas Dichtel
2015-07-06 16:37 ` Nikolay Aleksandrov
2015-07-06 16:46 ` David Ahern
2015-07-08 9:27 ` Nicolas Dichtel
2015-07-08 16:38 ` David Ahern
2015-07-08 18:34 ` Sowmini Varadhan
2015-07-09 17:19 ` David Ahern
2015-07-09 17:28 ` Sowmini Varadhan
2015-07-10 1:36 ` Eric W. Biederman
2015-07-10 2:12 ` David Ahern
2015-07-10 3:55 ` Eric W. Biederman
2015-07-10 4:20 ` David Ahern
2015-07-10 4:56 ` Eric W. Biederman
2015-07-10 18:42 ` David Ahern
2015-07-10 2:39 ` David Ahern
2015-07-10 3:28 ` Sowmini Varadhan
2015-07-10 3:44 ` David Ahern
2015-07-06 15:03 ` [RFC net-next 4/6] net: Modifications to ipv4 stack for VRF devices David Ahern
2015-07-06 15:03 ` [RFC net-next 5/6] net: Add sk_bind_dev_if to task_struct David Ahern
2015-07-06 15:03 ` [RFC net-next 6/6] net: Add chvrf command David Ahern
2015-07-06 15:03 ` [RFC PATCH] iproute2: Add support for VRF device David Ahern
2015-07-06 15:40 ` [RFC net-next 0/6] Proposal for VRF-lite - v2 Nicolas Dichtel
2015-07-06 17:53 ` Shrijeet Mukherjee
2015-07-08 9:30 ` Nicolas Dichtel
2015-07-10 5:14 ` Scott Feldman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=559D4B91.7020600@cumulusnetworks.com \
--to=dsa@cumulusnetworks.com \
--cc=davem@davemloft.net \
--cc=ddutt@cumulusnetworks.com \
--cc=ebiederm@xmission.com \
--cc=gospo@cumulusnetworks.com \
--cc=hadi@mojatatu.com \
--cc=hannes@stressinduktion.org \
--cc=jtoppins@cumulusnetworks.com \
--cc=netdev@vger.kernel.org \
--cc=nicolas.dichtel@6wind.com \
--cc=nikolay@cumulusnetworks.com \
--cc=roopa@cumulusnetworks.com \
--cc=shm@cumulusnetworks.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.