On 11/06/2012 02:27 PM, Chris Friesen wrote:
> On 11/06/2012 02:10 PM, Chris Friesen wrote:
>
>> I'm doing a test to see if not stripping the vlan tag will make any
>> difference.
>
> So I applied this patch (basically just disabling vlan stripping for VFs)
> and vlan-on-vf to vlan-on-vf communication now seems to be working.
>
> diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
> index c7d08f7..25f9e62 100644
> --- a/drivers/net/igb/igb_main.c
> +++ b/drivers/net/igb/igb_main.c
> @@ -3159,6 +3159,8 @@ static inline void igb_set_vf_vlan_strip(struct 
> igb_adapter *adapter,
>          struct e1000_hw *hw =&adapter->hw;
>          u32 val;
>          void __iomem *reg;
> +
> +       enable=0;
>
>          if (hw->mac.type<  e1000_82576)
>                  return;

It turns out that the above patch only works as long as there is no VLAN 
usage on the host.  As soon as we enable a VLAN on the host then it 
stops working.

If I also comment out NETIF_F_HW_VLAN_RX/NETIF_F_HW_VLAN_TX in 
igb_probe() and force "enable = 0" in igb_vlan_mode(), then things seem 
to work.  Basically this is totally disabling all vlan offload.  I tried 
using "ethtool -K ethX rxvlan off" but for some reason that option 
always showed as off even when CTRL.VME was actually set.

Looking at the datasheet for the i350, there is a comment for RCTL.SECRC 
that says, "This bit should not be set in virtualization mode."   In 
current drivers it is set unconditionally.  Also, since the comment for 
CTRL.VME says "if this is set then the RCTL.SECRC bit should also be 
set", this would seem to imply that CTRL.VME should also not be set in 
virtualization mode.

Also, the datasheet talks about two different modes of enabling vlan 
stripping, CTRL.VME or DVMOLR.STRVLAN.  The current driver uses both 
simultaneously--is that actually valid?

I'm curious if anyone else is trying to use vlans with virtual 
functions--there sure seems to be something strange going on with vlan 
offload.

Chris

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_nov
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to