Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 873936 Details for
Bug 1069028
ixgbevf prematurely strips VLAN tags
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
ixgbevf vlan stripping fix when not in netpoll path (v4)
0001-ixgbevf-fix-vlan-acceleration.patch (text/plain), 2.54 KB, created by
Nikolay Aleksandrov
on 2014-03-13 11:43:47 UTC
(
hide
)
Description:
ixgbevf vlan stripping fix when not in netpoll path (v4)
Filename:
MIME Type:
Creator:
Nikolay Aleksandrov
Created:
2014-03-13 11:43:47 UTC
Size:
2.54 KB
patch
obsolete
>From 3dd92f25e39c651bf158ce393c70f68d60fd74f1 Mon Sep 17 00:00:00 2001 >From: Nikolay Aleksandrov <nikolay@redhat.com> >Date: Tue, 11 Mar 2014 12:24:25 +0100 >Subject: [PATCH] ixgbevf: fix vlan acceleration > >BZ - https://bugzilla.redhat.com/show_bug.cgi?id=1069028 > >Description: >Currently if we're not in netpoll the stripped VLAN information will get >lost resulting in connectivity problems if there're VLANs configured on >top. Fix this to match upstream and add the VLAN information to the skb >no matter which path will get chosen. >Also make it closer to upstream by checking for the existence of an exact >VLAN, another reason for checking for the exact VLAN is that if the VF >is in a hypervisor VLAN and a different VLAN gets created on top of it, >the original (hypervisor) VLAN will stop working. > >Note: Currently the IN_NETPOLL flag is always set, so that path is >always chosen, but this patch also adds exact VLAN check on the other path >in order to be consistent. > >Upstream: > The patch is RHEL-specific, it makes the driver act as in upstream. > >Brew - > >Tests: >I have tested it locally by creating the same VLAN in the VM and in the >host and checking for connectivity. The reporter tested it as can be seen >here - https://bugzilla.redhat.com/show_bug.cgi?id=1069028#c26 and has also >passed it to the client for testing. > >Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> >--- > drivers/net/ixgbevf/ixgbevf_main.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > >diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c >index 56b394621814..b47bd7271a08 100644 >--- a/drivers/net/ixgbevf/ixgbevf_main.c >+++ b/drivers/net/ixgbevf/ixgbevf_main.c >@@ -285,18 +285,29 @@ static void ixgbevf_receive_skb(struct ixgbevf_q_vector *q_vector, > union ixgbe_adv_rx_desc *rx_desc) > { > struct ixgbevf_adapter *adapter = q_vector->adapter; >- bool is_vlan = (status & IXGBE_RXD_STAT_VP); >+ bool is_vlan = (status & IXGBE_RXD_STAT_VP), used_vlan = false; > u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); > >+ if (is_vlan) { >+ rcu_read_lock(); >+ if (vlan_group_get_device(adapter->vlgrp, tag)) >+ used_vlan = true; >+ rcu_read_unlock(); >+ } >+ > if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { >- if (adapter->vlgrp && is_vlan) >+ if (is_vlan && used_vlan) > vlan_gro_receive(&q_vector->napi, > adapter->vlgrp, > tag, skb); > else > napi_gro_receive(&q_vector->napi, skb); >- } else >- netif_rx(skb); >+ } else { >+ if (is_vlan && used_vlan) >+ vlan_hwaccel_rx(skb, adapter->vlgrp, tag); >+ else >+ netif_rx(skb); >+ } > } > > /** >-- >1.8.5.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1069028
:
869940
|
870927
|
873096
|
873098
|
873936
|
873949
|
874080