aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic.h
diff options
context:
space:
mode:
authorNarender Kumar <narender.kumar@qlogic.com>2009-08-24 15:23:28 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-26 18:29:21 -0400
commitfa3ce355c1bf1a83b843420228202fd6f8023ad3 (patch)
treeb8ebdbc86bfa36215d9cfc1f2920a44f3b0e4ae3 /drivers/net/netxen/netxen_nic.h
parent3ad4467ca43e7a2556e26e4e304faf3385048834 (diff)
netxen: bridged mode optimizations
When the interface is put in bridged mode, destination mac addresses are unknown to firmware. So packets take a slow path (lower priority) in firmware reducing performance. Firmware can cache limited number of remote unicast mac addresses for certain interval, if "dynamic mac learning" mode is enabled. Driver needs to enable this "mac learning" mode in firmware. Currently this is done through net device class sysfs entry, possibly this can also be done upon netlink notifications to from bridge. Signed-off-by: Narender Kumar <narender.kumar@qlogic.com> Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic.h')
-rw-r--r--drivers/net/netxen/netxen_nic.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 63e2f793ae0e..449d3511628f 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -964,6 +964,7 @@ typedef struct {
964#define NX_NIC_H2C_OPCODE_PROXY_STOP_DONE 20 964#define NX_NIC_H2C_OPCODE_PROXY_STOP_DONE 20
965#define NX_NIC_H2C_OPCODE_GET_LINKEVENT 21 965#define NX_NIC_H2C_OPCODE_GET_LINKEVENT 21
966#define NX_NIC_C2C_OPCODE 22 966#define NX_NIC_C2C_OPCODE 22
967#define NX_NIC_H2C_OPCODE_CONFIG_BRIDGING 23
967#define NX_NIC_H2C_OPCODE_CONFIG_HW_LRO 24 968#define NX_NIC_H2C_OPCODE_CONFIG_HW_LRO 24
968#define NX_NIC_H2C_OPCODE_LAST 25 969#define NX_NIC_H2C_OPCODE_LAST 25
969 970
@@ -1085,6 +1086,7 @@ typedef struct {
1085#define NETXEN_NIC_MSI_ENABLED 0x02 1086#define NETXEN_NIC_MSI_ENABLED 0x02
1086#define NETXEN_NIC_MSIX_ENABLED 0x04 1087#define NETXEN_NIC_MSIX_ENABLED 0x04
1087#define NETXEN_NIC_LRO_ENABLED 0x08 1088#define NETXEN_NIC_LRO_ENABLED 0x08
1089#define NETXEN_NIC_BRIDGE_ENABLED 0X10
1088#define NETXEN_IS_MSI_FAMILY(adapter) \ 1090#define NETXEN_IS_MSI_FAMILY(adapter) \
1089 ((adapter)->flags & (NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED)) 1091 ((adapter)->flags & (NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED))
1090 1092
@@ -1332,6 +1334,7 @@ void netxen_advert_link_change(struct netxen_adapter *adapter, int linkup);
1332int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu); 1334int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu);
1333int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); 1335int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu);
1334int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable); 1336int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable);
1337int netxen_config_bridged_mode(struct netxen_adapter *adapter, int enable);
1335int netxen_send_lro_cleanup(struct netxen_adapter *adapter); 1338int netxen_send_lro_cleanup(struct netxen_adapter *adapter);
1336 1339
1337int netxen_nic_set_mac(struct net_device *netdev, void *p); 1340int netxen_nic_set_mac(struct net_device *netdev, void *p);