Hello, While looking into the function 'ixgbe_set_lan_id_multi_port_pcie', it seemed like 'bus->lan_id' needs to be set after the port swap check. I might be missing some detail here as setting 'bus->lan_id' before port swap check may be by design. If it is an issue, please consider applying the following patch. The patch applies to linux kernel 3.8.
Also, 'bus->lan_id' (or bus->func) indicates the physical port number used by the netdevice. Is the understanding correct ? From: Narendra K <narendr...@dell.com> Subject: [PATCH] Set lan_id after the port swap check 'bus->lan_id' is set to 'bus->func', but 'bus->func' can change if port swap is enabled. Address it by setting 'bus->lan_id' after the port swap check. Signed-off-by: Narendra K <narendr...@dell.com> --- drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c index 5e68afd..cde335d 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c @@ -659,12 +659,13 @@ void ixgbe_set_lan_id_multi_port_pcie(struct ixgbe_hw *hw) reg = IXGBE_READ_REG(hw, IXGBE_STATUS); bus->func = (reg & IXGBE_STATUS_LAN_ID) >> IXGBE_STATUS_LAN_ID_SHIFT; - bus->lan_id = bus->func; /* check for a port swap */ reg = IXGBE_READ_REG(hw, IXGBE_FACTPS); if (reg & IXGBE_FACTPS_LFS) bus->func ^= 0x1; + + bus->lan_id = bus->func; } /** -- 1.7.10.1 -- With regards, Narendra K ------------------------------------------------------------------------------ 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_feb _______________________________________________ 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