Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jul 2015 21:07:18 +0000 (UTC)
From:      Eric Joyner <erj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r285768 - head/sys/dev/ixl
Message-ID:  <201507212107.t6LL7It7054035@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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.rose@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);
 		}
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201507212107.t6LL7It7054035>