Author: erj
Date: Tue Jul 21 21:07:18 2015
New Revision: 285768
URL: https://svnweb.freebsd.org/changeset/base/285768

Log:
  Fix for a customer issue with ixl(4):
  
  - Add required MAC/VLAN filter when adding an LAA
  - Fix bug where code did not check for I40E_SUCCESS from a successful
    i40e_validate_mac_address() call in ixl_init_locked(), when setting
    an LAA.
  
  PR: 201240
  Differential Revision: https://reviews.freebsd.org/D3111
  Submitted by: Gregory Rose <gregory.v.r...@intel.com>
  Reviewed by: gnn, rstone
  Approved by: gnn
  MFC after: 2 weeks

Modified:
  head/sys/dev/ixl/if_ixl.c

Modified: head/sys/dev/ixl/if_ixl.c
==============================================================================
--- head/sys/dev/ixl/if_ixl.c   Tue Jul 21 20:53:21 2015        (r285767)
+++ head/sys/dev/ixl/if_ixl.c   Tue Jul 21 21:07:18 2015        (r285768)
@@ -1141,7 +1141,8 @@ ixl_init_locked(struct ixl_pf *pf)
        bcopy(IF_LLADDR(vsi->ifp), tmpaddr,
              I40E_ETH_LENGTH_OF_ADDRESS);
        if (!cmp_etheraddr(hw->mac.addr, tmpaddr) && 
-           i40e_validate_mac_addr(tmpaddr)) {
+           (i40e_validate_mac_addr(tmpaddr) == I40E_SUCCESS)) {
+               ixl_del_filter(vsi, hw->mac.addr, IXL_VLAN_ANY);
                bcopy(tmpaddr, hw->mac.addr,
                    I40E_ETH_LENGTH_OF_ADDRESS);
                ret = i40e_aq_mac_address_write(hw,
@@ -1151,6 +1152,8 @@ ixl_init_locked(struct ixl_pf *pf)
                        device_printf(dev, "LLA address"
                         "change failed!!\n");
                        return;
+               } else {
+                       ixl_add_filter(vsi, hw->mac.addr, IXL_VLAN_ANY);
                }
        }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to