[PATCH net-next v3 10/27] benet: use __vlan_hwaccel helpers

Subsystems: emulex 10gbps nic be2, be3-r, lancer, skyhawk-r driver (be2net), networking drivers, the rest

STALE3536d

2 messages, 2 authors, 2017-01-11 · open the first message on its own page

[PATCH net-next v3 10/27] benet: use __vlan_hwaccel helpers

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: 2017-01-03 23:11:10

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
v3: fix adapter->pvid handling

 drivers/net/ethernet/emulex/benet/be_main.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 7e1633bf5a22..cd12c9a7664b 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -1035,30 +1035,35 @@ static struct sk_buff *be_insert_vlan_in_pkt(struct be_adapter *adapter,
 					     struct be_wrb_params
 					     *wrb_params)
 {
+	bool insert_vlan = false;
 	u16 vlan_tag = 0;
 
 	skb = skb_share_check(skb, GFP_ATOMIC);
 	if (unlikely(!skb))
 		return skb;
 
-	if (skb_vlan_tag_present(skb))
+	if (skb_vlan_tag_present(skb)) {
 		vlan_tag = be_get_tx_vlan_tag(adapter, skb);
+		insert_vlan = true;
+	}
 
 	if (qnq_async_evt_rcvd(adapter) && adapter->pvid) {
-		if (!vlan_tag)
+		if (!insert_vlan) {
 			vlan_tag = adapter->pvid;
+			insert_vlan = true;
+		}
 		/* f/w workaround to set skip_hw_vlan = 1, informs the F/W to
 		 * skip VLAN insertion
 		 */
 		BE_WRB_F_SET(wrb_params->features, VLAN_SKIP_HW, 1);
 	}
 
-	if (vlan_tag) {
+	if (insert_vlan) {
 		skb = vlan_insert_tag_set_proto(skb, htons(ETH_P_8021Q),
 						vlan_tag);
 		if (unlikely(!skb))
 			return skb;
-		skb->vlan_tci = 0;
+		__vlan_hwaccel_clear_tag(skb);
 	}
 
 	/* Insert the outer VLAN, if any */
-- 
2.11.0

Re: [PATCH net-next v3 10/27] benet: use __vlan_hwaccel helpers

From: Somnath Kotur <hidden>
Date: 2017-01-11 05:30:16

On Wed, Jan 4, 2017 at 4:41 AM, Michał Mirosław [off-list ref] wrote:
quoted hunk
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
v3: fix adapter->pvid handling

 drivers/net/ethernet/emulex/benet/be_main.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 7e1633bf5a22..cd12c9a7664b 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -1035,30 +1035,35 @@ static struct sk_buff *be_insert_vlan_in_pkt(struct be_adapter *adapter,
                                             struct be_wrb_params
                                             *wrb_params)
 {
+       bool insert_vlan = false;
        u16 vlan_tag = 0;

        skb = skb_share_check(skb, GFP_ATOMIC);
        if (unlikely(!skb))
                return skb;

-       if (skb_vlan_tag_present(skb))
+       if (skb_vlan_tag_present(skb)) {
                vlan_tag = be_get_tx_vlan_tag(adapter, skb);
+               insert_vlan = true;
+       }

        if (qnq_async_evt_rcvd(adapter) && adapter->pvid) {
-               if (!vlan_tag)
+               if (!insert_vlan) {
                        vlan_tag = adapter->pvid;
+                       insert_vlan = true;
+               }
                /* f/w workaround to set skip_hw_vlan = 1, informs the F/W to
                 * skip VLAN insertion
                 */
                BE_WRB_F_SET(wrb_params->features, VLAN_SKIP_HW, 1);
        }

-       if (vlan_tag) {
+       if (insert_vlan) {
                skb = vlan_insert_tag_set_proto(skb, htons(ETH_P_8021Q),
                                                vlan_tag);
                if (unlikely(!skb))
                        return skb;
-               skb->vlan_tci = 0;
+               __vlan_hwaccel_clear_tag(skb);
        }

        /* Insert the outer VLAN, if any */
--
2.11.0
Thanks

Acked-by: Somnath Kotur <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help