Bug 1278698 - The packets that SR-IOV instances receive contains a vlan tag
Summary: The packets that SR-IOV instances receive contains a vlan tag
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 8.0 (Liberty)
Assignee: Assaf Muller
QA Contact: Ofer Blaut
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-06 08:14 UTC by Chen
Modified: 2019-10-10 10:27 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-02 05:53:51 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Chen 2015-11-06 08:14:15 UTC
Description of problem:

The packets that SR-IOV instances receive contains a vlan tag

Version-Release number of selected component (if applicable):

OSP 7

How reproducible:

100%

Steps to Reproduce:
1. Recompile the igbvf to let it print vlan ID to the /var/log/messages


static void igbvf_receive_skb(struct igbvf_adapter *adapter,
                              struct net_device *netdev,
                              struct sk_buff *skb,
                              u32 status, u16 vlan)
{
        u16 vid;
        if (status & E1000_RXD_STAT_VP) {
                if ((adapter->flags & IGBVF_FLAG_RX_LB_VLAN_BSWAP) &&
                    (status & E1000_RXDEXT_STATERR_LB))
                        vid = be16_to_cpu(vlan) & E1000_RXD_SPC_VLAN_MASK;
                else
                        vid = le16_to_cpu(vlan) & E1000_RXD_SPC_VLAN_MASK;
                if (test_bit(vid, adapter->active_vlans))
                        __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid);
        }

        pr_info("The vlan id is %d\n", vid);  <------ 

        napi_gro_receive(&adapter->rx_ring->napi, skb);
}

2. Check the /var/log/messages while ping the targeted VM.

Actual results:

You will find the following messages in /var/log/messages.

Nov  6 03:10:13 localhost kernel: igbvf: The vlan id is 101
Nov  6 03:10:18 localhost kernel: igbvf: The vlan id is 101
Nov  6 03:10:18 localhost kernel: igbvf: The vlan id is 101
Nov  6 03:10:19 localhost kernel: igbvf: The vlan id is 101

Expected results:

The packet shouldn't contain vlan tag when arriving at the VM.

Additional info:

Some drivers don't have the ability to strip the vlan tag. For example, one of the customers is using DPDK to handle the packet but DPDK doesn't strip the vlan tag, which leads to packet drop in instances.


Note You need to log in before you can comment on or make changes to this bug.