diff options
author | Narender Kumar <narender.kumar@qlogic.com> | 2009-08-24 15:23:28 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-26 18:29:21 -0400 |
commit | fa3ce355c1bf1a83b843420228202fd6f8023ad3 (patch) | |
tree | b8ebdbc86bfa36215d9cfc1f2920a44f3b0e4ae3 /drivers/net/netxen/netxen_nic.h | |
parent | 3ad4467ca43e7a2556e26e4e304faf3385048834 (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.h | 3 |
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); | |||
1332 | int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu); | 1334 | int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu); |
1333 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); | 1335 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); |
1334 | int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable); | 1336 | int netxen_config_hw_lro(struct netxen_adapter *adapter, int enable); |
1337 | int netxen_config_bridged_mode(struct netxen_adapter *adapter, int enable); | ||
1335 | int netxen_send_lro_cleanup(struct netxen_adapter *adapter); | 1338 | int netxen_send_lro_cleanup(struct netxen_adapter *adapter); |
1336 | 1339 | ||
1337 | int netxen_nic_set_mac(struct net_device *netdev, void *p); | 1340 | int netxen_nic_set_mac(struct net_device *netdev, void *p); |