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® Ethernet, visit http://communities.intel.com/community/wired