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

Reply via email to