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 874080 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.82 KB, created by
Nikolay Aleksandrov
on 2014-03-13 17:07:59 UTC
(
hide
)
Description:
ixgbevf vlan stripping fix when not in netpoll path (v4)
Filename:
MIME Type:
Creator:
Nikolay Aleksandrov
Created:
2014-03-13 17:07:59 UTC
Size:
2.82 KB
patch
obsolete
>From 03624c2c217b25e7fd61eda43beb532ab44083e6 Mon Sep 17 00:00:00 2001 >From: Nikolay Aleksandrov <nikolay@redhat.com> >Date: Tue, 11 Mar 2014 12:24:25 +0100 >Subject: [RHEL6.6 PATCH BZ 1069028 v2] 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. > >v2: Use rcu_read_lock and check if the vlan is present inside of course it >may disappear afterwards but that's not a problem, the packet will be >handled correctly. Also mask out the bits of tag (vlan_tci really). > >Upstream: > The patch is RHEL-specific, it makes the driver act as in upstream. > >Brew - https://brewweb.devel.redhat.com/taskinfo?taskID=7192289 > >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..e87f8cd9a17d 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 & VLAN_VID_MASK)) >+ used_vlan = true; >+ rcu_read_unlock(); >+ } >+ > if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { >- if (adapter->vlgrp && is_vlan) >+ if (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 (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