* [PATCH net-next 0/2] bonding: clean rlb vlan use
@ 2013-08-29 21:38 Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 1/2] bonding: remove bond_vlan_used() Veaceslav Falico
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Veaceslav Falico @ 2013-08-29 21:38 UTC (permalink / raw)
To: netdev; +Cc: Jay Vosburgh, Andy Gospodarek, Veaceslav Falico
Finish the vlan cleanup, only rlb left.
Remove the bond_vlan_used() function, it's useless anyway, and
rlb_client_info->tag, cause we can use only ->vlan_id.
CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
---
drivers/net/bonding/bond_alb.c | 12 +++++-------
drivers/net/bonding/bond_alb.h | 1 -
drivers/net/bonding/bonding.h | 18 ------------------
3 files changed, 5 insertions(+), 26 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next 1/2] bonding: remove bond_vlan_used()
2013-08-29 21:38 [PATCH net-next 0/2] bonding: clean rlb vlan use Veaceslav Falico
@ 2013-08-29 21:38 ` Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 2/2] bonding: use rlb_client_info->vlan_id instead of ->tag Veaceslav Falico
2013-09-04 2:02 ` [PATCH net-next 0/2] bonding: clean rlb vlan use David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Veaceslav Falico @ 2013-08-29 21:38 UTC (permalink / raw)
To: netdev; +Cc: Veaceslav Falico, Jay Vosburgh, Andy Gospodarek
We're using it currently to verify if we have vlans before getting the tag
from the skb we're about to send. It's useless because the vlan_get_tag()
verifies if the skb has the tag (and returns an error if not), and we can
receive tagged skbs only if we *already* have vlans.
Plus, the current RCUed implementation is kind of useless anyway - the we
can remove the last vlan in the moment we return from the function.
So remove the only usage of it and the whole function.
CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
---
drivers/net/bonding/bond_alb.c | 6 ++----
drivers/net/bonding/bonding.h | 18 ------------------
2 files changed, 2 insertions(+), 22 deletions(-)
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 0182352..27b03fa 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -694,10 +694,8 @@ static struct slave *rlb_choose_channel(struct sk_buff *skb, struct bonding *bon
client_info->ntt = 0;
}
- if (bond_vlan_used(bond)) {
- if (!vlan_get_tag(skb, &client_info->vlan_id))
- client_info->tag = 1;
- }
+ if (!vlan_get_tag(skb, &client_info->vlan_id))
+ client_info->tag = 1;
if (!client_info->assigned) {
u32 prev_tbl_head = bond_info->rx_hashtbl_used_head;
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 4abc925..f7ab161 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -261,24 +261,6 @@ struct bonding {
#endif /* CONFIG_DEBUG_FS */
};
-/* if we hold rtnl_lock() - call vlan_uses_dev() */
-static inline bool bond_vlan_used(struct bonding *bond)
-{
- struct net_device *upper;
- struct list_head *iter;
-
- rcu_read_lock();
- netdev_for_each_upper_dev_rcu(bond->dev, upper, iter) {
- if (upper->priv_flags & IFF_802_1Q_VLAN) {
- rcu_read_unlock();
- return true;
- }
- }
- rcu_read_unlock();
-
- return false;
-}
-
#define bond_slave_get_rcu(dev) \
((struct slave *) rcu_dereference(dev->rx_handler_data))
--
1.8.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net-next 2/2] bonding: use rlb_client_info->vlan_id instead of ->tag
2013-08-29 21:38 [PATCH net-next 0/2] bonding: clean rlb vlan use Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 1/2] bonding: remove bond_vlan_used() Veaceslav Falico
@ 2013-08-29 21:38 ` Veaceslav Falico
2013-09-04 2:02 ` [PATCH net-next 0/2] bonding: clean rlb vlan use David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Veaceslav Falico @ 2013-08-29 21:38 UTC (permalink / raw)
To: netdev; +Cc: Veaceslav Falico, Jay Vosburgh, Andy Gospodarek
Store VID in ->vlan_id (if any), and remove the useless ->tag.
CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
---
drivers/net/bonding/bond_alb.c | 8 ++++----
drivers/net/bonding/bond_alb.h | 1 -
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 27b03fa..91f179d 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -512,7 +512,7 @@ static void rlb_update_client(struct rlb_client_info *client_info)
skb->dev = client_info->slave->dev;
- if (client_info->tag) {
+ if (client_info->vlan_id) {
skb = vlan_put_tag(skb, htons(ETH_P_8021Q), client_info->vlan_id);
if (!skb) {
pr_err("%s: Error: failed to insert VLAN tag\n",
@@ -695,7 +695,7 @@ static struct slave *rlb_choose_channel(struct sk_buff *skb, struct bonding *bon
}
if (!vlan_get_tag(skb, &client_info->vlan_id))
- client_info->tag = 1;
+ client_info->vlan_id = 0;
if (!client_info->assigned) {
u32 prev_tbl_head = bond_info->rx_hashtbl_used_head;
@@ -801,7 +801,7 @@ static void rlb_init_table_entry_dst(struct rlb_client_info *entry)
entry->used_prev = RLB_NULL_INDEX;
entry->assigned = 0;
entry->slave = NULL;
- entry->tag = 0;
+ entry->vlan_id = 0;
}
static void rlb_init_table_entry_src(struct rlb_client_info *entry)
{
@@ -958,7 +958,7 @@ static void rlb_clear_vlan(struct bonding *bond, unsigned short vlan_id)
struct rlb_client_info *curr = &(bond_info->rx_hashtbl[curr_index]);
u32 next_index = bond_info->rx_hashtbl[curr_index].used_next;
- if (curr->tag && (curr->vlan_id == vlan_id))
+ if (curr->vlan_id == vlan_id)
rlb_delete_table_entry(bond, curr_index);
curr_index = next_index;
diff --git a/drivers/net/bonding/bond_alb.h b/drivers/net/bonding/bond_alb.h
index e02c9c5..28d8e4c 100644
--- a/drivers/net/bonding/bond_alb.h
+++ b/drivers/net/bonding/bond_alb.h
@@ -125,7 +125,6 @@ struct rlb_client_info {
u8 assigned; /* checking whether this entry is assigned */
u8 ntt; /* flag - need to transmit client info */
struct slave *slave; /* the slave assigned to this client */
- u8 tag; /* flag - need to tag skb */
unsigned short vlan_id; /* VLAN tag associated with IP address */
};
--
1.8.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next 0/2] bonding: clean rlb vlan use
2013-08-29 21:38 [PATCH net-next 0/2] bonding: clean rlb vlan use Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 1/2] bonding: remove bond_vlan_used() Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 2/2] bonding: use rlb_client_info->vlan_id instead of ->tag Veaceslav Falico
@ 2013-09-04 2:02 ` David Miller
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2013-09-04 2:02 UTC (permalink / raw)
To: vfalico; +Cc: netdev, fubar, andy
From: Veaceslav Falico <vfalico@redhat.com>
Date: Thu, 29 Aug 2013 23:38:55 +0200
> Finish the vlan cleanup, only rlb left.
>
> Remove the bond_vlan_used() function, it's useless anyway, and
> rlb_client_info->tag, cause we can use only ->vlan_id.
>
> CC: Jay Vosburgh <fubar@us.ibm.com>
> CC: Andy Gospodarek <andy@greyhouse.net>
> Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-09-04 2:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-29 21:38 [PATCH net-next 0/2] bonding: clean rlb vlan use Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 1/2] bonding: remove bond_vlan_used() Veaceslav Falico
2013-08-29 21:38 ` [PATCH net-next 2/2] bonding: use rlb_client_info->vlan_id instead of ->tag Veaceslav Falico
2013-09-04 2:02 ` [PATCH net-next 0/2] bonding: clean rlb vlan use David Miller
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).