From: Mahesh Bandewar <maheshb@google.com>
To: David Miller <davem@davemloft.net>
Cc: netdev <netdev@vger.kernel.org>, Mahesh Bandewar <maheshb@google.com>
Subject: [PATCH 04/20] net-vlan: extending (hw_/wanted_/vlan_)features fields to a bitmap.
Date: Tue, 5 Apr 2011 17:44:09 -0700 [thread overview]
Message-ID: <1302050665-10460-5-git-send-email-maheshb@google.com> (raw)
In-Reply-To: <1302050665-10460-4-git-send-email-maheshb@google.com>
Converting current use of (hw_/wanted_/vlan_)features to
legacy_(hw_/wanted_/vlan_)features to differntiate from the proposed usage.
Signed-off-by: Mahesh Bandewar <maheshb@google.com>
---
include/linux/if_vlan.h | 4 ++--
net/8021q/vlan.c | 12 ++++++------
net/8021q/vlan_dev.c | 9 +++++----
3 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index 635e1fa..1c71568 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -276,7 +276,7 @@ static inline struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb,
*/
static inline struct sk_buff *vlan_put_tag(struct sk_buff *skb, u16 vlan_tci)
{
- if (skb->dev->features & NETIF_F_HW_VLAN_TX) {
+ if (skb->dev->legacy_features & NETIF_F_HW_VLAN_TX) {
return __vlan_hwaccel_put_tag(skb, vlan_tci);
} else {
return __vlan_put_tag(skb, vlan_tci);
@@ -332,7 +332,7 @@ static inline int __vlan_hwaccel_get_tag(const struct sk_buff *skb,
*/
static inline int vlan_get_tag(const struct sk_buff *skb, u16 *vlan_tci)
{
- if (skb->dev->features & NETIF_F_HW_VLAN_TX) {
+ if (skb->dev->legacy_features & NETIF_F_HW_VLAN_TX) {
return __vlan_hwaccel_get_tag(skb, vlan_tci);
} else {
return __vlan_get_tag(skb, vlan_tci);
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index e47600b..93325b8 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -119,7 +119,7 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head)
* HW accelerating devices or SW vlan input packet processing if
* VLAN is not 0 (leave it there for 802.1p).
*/
- if (vlan_id && (real_dev->features & NETIF_F_HW_VLAN_FILTER))
+ if (vlan_id && (real_dev->legacy_features & NETIF_F_HW_VLAN_FILTER))
ops->ndo_vlan_rx_kill_vid(real_dev, vlan_id);
grp->nr_vlans--;
@@ -151,12 +151,12 @@ int vlan_check_real_dev(struct net_device *real_dev, u16 vlan_id)
const char *name = real_dev->name;
const struct net_device_ops *ops = real_dev->netdev_ops;
- if (real_dev->features & NETIF_F_VLAN_CHALLENGED) {
+ if (real_dev->legacy_features & NETIF_F_VLAN_CHALLENGED) {
pr_info("8021q: VLANs not supported on %s\n", name);
return -EOPNOTSUPP;
}
- if ((real_dev->features & NETIF_F_HW_VLAN_FILTER) &&
+ if ((real_dev->legacy_features & NETIF_F_HW_VLAN_FILTER) &&
(!ops->ndo_vlan_rx_add_vid || !ops->ndo_vlan_rx_kill_vid)) {
pr_info("8021q: Device %s has buggy VLAN hw accel\n", name);
return -EOPNOTSUPP;
@@ -212,7 +212,7 @@ int register_vlan_dev(struct net_device *dev)
ops->ndo_vlan_rx_register(real_dev, ngrp);
rcu_assign_pointer(real_dev->vlgrp, ngrp);
}
- if (real_dev->features & NETIF_F_HW_VLAN_FILTER)
+ if (real_dev->legacy_features & NETIF_F_HW_VLAN_FILTER)
ops->ndo_vlan_rx_add_vid(real_dev, vlan_id);
return 0;
@@ -329,7 +329,7 @@ static void vlan_transfer_features(struct net_device *dev,
{
vlandev->gso_max_size = dev->gso_max_size;
- if (dev->features & NETIF_F_HW_VLAN_TX)
+ if (dev->legacy_features & NETIF_F_HW_VLAN_TX)
vlandev->hard_header_len = dev->hard_header_len;
else
vlandev->hard_header_len = dev->hard_header_len + VLAN_HLEN;
@@ -375,7 +375,7 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
__vlan_device_event(dev, event);
if ((event == NETDEV_UP) &&
- (dev->features & NETIF_F_HW_VLAN_FILTER) &&
+ (dev->legacy_features & NETIF_F_HW_VLAN_FILTER) &&
dev->netdev_ops->ndo_vlan_rx_add_vid) {
pr_info("8021q: adding VLAN 0 to HW filter on device %s\n",
dev->name);
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index b84a46b..52f2f44 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -704,8 +704,9 @@ static int vlan_dev_init(struct net_device *dev)
(1<<__LINK_STATE_DORMANT))) |
(1<<__LINK_STATE_PRESENT);
- dev->hw_features = real_dev->vlan_features & NETIF_F_ALL_TX_OFFLOADS;
- dev->features |= real_dev->vlan_features | NETIF_F_LLTX;
+ dev->legacy_hw_features =
+ real_dev->legacy_vlan_features & NETIF_F_ALL_TX_OFFLOADS;
+ dev->legacy_features |= real_dev->legacy_vlan_features | NETIF_F_LLTX;
dev->gso_max_size = real_dev->gso_max_size;
/* ipv6 shared card related stuff */
@@ -721,7 +722,7 @@ static int vlan_dev_init(struct net_device *dev)
#endif
dev->needed_headroom = real_dev->needed_headroom;
- if (real_dev->features & NETIF_F_HW_VLAN_TX) {
+ if (real_dev->legacy_features & NETIF_F_HW_VLAN_TX) {
dev->header_ops = real_dev->header_ops;
dev->hard_header_len = real_dev->hard_header_len;
} else {
@@ -763,7 +764,7 @@ static u32 vlan_dev_fix_features(struct net_device *dev, u32 features)
{
struct net_device *real_dev = vlan_dev_info(dev)->real_dev;
- features &= (real_dev->features | NETIF_F_LLTX);
+ features &= (real_dev->legacy_features | NETIF_F_LLTX);
if (dev_ethtool_get_rx_csum(real_dev))
features |= NETIF_F_RXCSUM;
--
1.7.3.1
next prev parent reply other threads:[~2011-04-06 0:44 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-06 0:44 [PATCH 00/20] extending (hw_/wanted_/vlan_)features fields to a bitmap Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 01/20] net-core: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 02/20] net-ipv4: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 03/20] net-ipv6: " Mahesh Bandewar
2011-04-06 0:44 ` Mahesh Bandewar [this message]
2011-04-06 0:44 ` [PATCH 05/20] net-bridge: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 06/20] net-decnet: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 07/20] net-dsa: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 08/20] net-l2tp: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 09/20] net-phonet: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 10/20] net-sctp: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 11/20] net-wireless: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 12/20] loopback: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 13/20] veth: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 14/20] jme: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 15/20] sungem: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 16/20] sunhme: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 17/20] usb-smsc75xx: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 18/20] usb-smsc95xx: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 19/20] virtio_net: " Mahesh Bandewar
2011-04-06 0:44 ` [PATCH 20/20] xen: " Mahesh Bandewar
2011-04-06 1:27 ` [PATCH 01/20] net-core: " Ben Hutchings
2011-04-06 1:35 ` Mahesh Bandewar
2011-04-06 1:45 ` Ben Hutchings
2011-04-06 10:29 ` Michał Mirosław
2011-04-06 17:34 ` Mahesh Bandewar
2011-04-07 15:00 ` [PATCHv2 " Mahesh Bandewar
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=1302050665-10460-5-git-send-email-maheshb@google.com \
--to=maheshb@google.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).