Hello Alex, You were correct. Your most recent patch works correctly. All my PROFINET devices are successfully connected to the controller and seem to be operating properly. I see where the compile should have failed before. I just used 'make' this time. Now that we know the code is correct, I'll try to find where rpmbuild went wrong. Do you know when to expect these changes to be available via the Intel downloads site (e.g. igb-3.0.23.tar.gz)? I appreciate all your help.
Thanks, Greg -- Greg Hupf [email protected] Command and Control Technologies www.cctcorp.com 1425 Chaffee Drive, Suite 1 (321) 264-1193 x121 Titusville, Florida 32780 (321) 383-5096 fax On 6/28/2011 3:53 PM, Alexander Duyck wrote: >>>> Below is an updated patch. I didn't notice that the driver version you >>>> were using was missing some fixes for vlans. As such I went ahead and >>>> included the fix for adding a vlan ID without a vlan to the patch >>>> below/attached. >>>> >>>> Thanks, >>>> >>>> Alex > > I'm not certain you are even loading the driver with the patch applied > as I just noticed that the patch I sent had a typo which should have > caused the build to fail. > > Below/attached is an updated patch. What you might try doing is a > "make" / "make install" combo in order to verify that it is this > driver that is being loaded. If you want between the "make" and "make > install" you might try just doing a "rmmod igb; insmod ./igb.ko; > service network restart". This should unload the driver and reload > the driver in the current directory. > > Thanks, > > Alex > > diff -urp igb-3.0.22.a/src/igb_main.c igb-3.0.22.b/src/igb_main.c > --- igb-3.0.22.a/src/igb_main.c 2011-05-04 13:19:20.000000000 -0700 > +++ igb-3.0.22.b/src/igb_main.c 2011-06-28 12:46:30.000000000 -0700 > @@ -6991,9 +6991,6 @@ static void igb_vlan_rx_add_vid(struct n > struct igb_adapter *adapter = netdev_priv(netdev); > struct e1000_hw *hw =&adapter->hw; > int pf_id = adapter->vfs_allocated_count; > -#ifndef HAVE_NETDEV_VLAN_FEATURES > - struct net_device *v_netdev; > -#endif > > /* attempt to add filter to vlvf array */ > igb_vlvf_set(adapter, vid, TRUE, pf_id); > @@ -7002,12 +6999,20 @@ static void igb_vlan_rx_add_vid(struct n > igb_vfta_set(hw, vid, TRUE); > #ifndef HAVE_NETDEV_VLAN_FEATURES > > - /* Copy feature flags from netdev to the vlan netdev for this vid. > + /* > + * Copy feature flags from netdev to the vlan netdev for this vid. > * This allows things like TSO to bubble down to our vlan device. > + * Some vlans, such as VLAN 0 for DCB will not have a v_netdev so > + * we will not have a netdev that needs updating. > */ > - v_netdev = vlan_group_get_device(adapter->vlgrp, vid); > - v_netdev->features |= adapter->netdev->features; > - vlan_group_set_device(adapter->vlgrp, vid, v_netdev); > + if (adapter->vlgrp) { > + struct vlan_group *vlgrp = adapter->vlgrp; > + struct net_device *v_netdev = vlan_group_get_device(vlgrp, vid); > + if (v_netdev) { > + v_netdev->features |= netdev->features; > + vlan_group_set_device(vlgrp, vid, v_netdev); > + } > + } > #endif > } > > @@ -7036,6 +7041,8 @@ static void igb_restore_vlan(struct igb_ > { > igb_vlan_rx_register(adapter->netdev, adapter->vlgrp); > > + igb_vlan_rx_add_vid(adapter->netdev, 0); > + > if (adapter->vlgrp) { > u16 vid; > for (vid = 0; vid< VLAN_N_VID; vid++) { > ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
