blob: dfc9301c5a824b21ea0ec82b80f15c57173d2a8e [file] [log] [blame]
config MV_ETH_PORTS_NUM
int "Number of Marvell GbE ports"
depends on MV_ETH_NETA
default 1
---help---
Number of Marvell GbE ports supported by NETA driver
menu "BM configuration"
config MV_ETH_BM
depends on MV_ETH_NETA
bool "Buffer Management support (BM)"
default y
---help---
config MV_ETH_BM_CPU
depends on MV_ETH_BM
bool "Use BM for CPU processed traffic"
default y
---help---
BM pools is used for traffic processed by CPU and HWF both
config MV_ETH_BM_0_PKT_SIZE
depends on MV_ETH_BM
int "Packet size [bytes] can use buffers from pool #0"
default 0
---help---
0 - means that packet size for the pool will be defined accordingly
with MTU of the port that use this pool.
config MV_ETH_BM_1_PKT_SIZE
depends on MV_ETH_BM
int "Packet size [bytes] can use buffers from pool #1"
default 0
---help---
0 - means that packet size for the pool will be defined accordingly
with MTU of the port that use this pool.
config MV_ETH_BM_2_PKT_SIZE
depends on MV_ETH_BM
int "Packet size [bytes] can use buffers from pool #2"
default 0
---help---
0 - means that packet size for the pool will be defined accordingly
with MTU of the port that use this pool.
config MV_ETH_BM_3_PKT_SIZE
depends on MV_ETH_BM
int "Packet size [bytes] can use buffers from pool #3"
default 256
---help---
0 - means that packet size for the pool will be defined accordingly
with MTU of the port that use this pool.
menuconfig MV_ETH_BM_PORT_0
depends on (MV_ETH_BM && (MV_ETH_PORTS_NUM != 0))
bool "BM configuration for GbE #0"
default y
---help---
config MV_ETH_BM_PORT_0_LONG_POOL
int "Long BM pool for GbE #0"
depends on MV_ETH_BM_PORT_0
range -1 3 if MV_ETH_BM_CPU
range 0 3 if !MV_ETH_BM_CPU
default 0
---help---
BM pool to be used for GbE #0 port to process long packets
-1 means that port will choose BM pool closest to required buffers size.
config MV_ETH_BM_PORT_0_SHORT_POOL
int "Short BM pool for GbE #0"
depends on MV_ETH_BM_PORT_0
range 0 3
default 3
---help---
BM pool to be used for GbE #0 port to process short packets
config MV_ETH_BM_PORT_0_LONG_BUF_NUM
int "Number of buffers for Long pool of GbE #0"
depends on MV_ETH_BM_PORT_0
range 128 16384
default 2048
---help---
Number of long buffers allocated for this port.
config MV_ETH_BM_PORT_0_SHORT_BUF_NUM
int "Number of buffers for Short pool of GbE #0"
depends on MV_ETH_BM_PORT_0
range 1 16384
default 3072
---help---
Number of short buffers allocated for this port.
menuconfig MV_ETH_BM_PORT_1
depends on (MV_ETH_BM && (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1))
bool "BM configuration for GbE #1"
default y
---help---
config MV_ETH_BM_PORT_1_LONG_POOL
int "Long BM pool for GbE #1"
depends on MV_ETH_BM_PORT_1
range -1 3 if MV_ETH_BM_CPU
range 0 3 if !MV_ETH_BM_CPU
default 1
---help---
BM pool to be used for GbE #1 port to process long packets.
-1 means that port will choose BM pool closest to required buffers size.
config MV_ETH_BM_PORT_1_SHORT_POOL
int "Short BM pool for GbE #1"
depends on MV_ETH_BM_PORT_1
range 0 3
default 3
---help---
BM pool to be used for GbE #1 port to process short packets.
config MV_ETH_BM_PORT_1_LONG_BUF_NUM
int "Number of buffers for Long pool of GbE #1"
depends on MV_ETH_BM_PORT_1
range 128 16384
default 2048
---help---
Number of long buffers allocated for this port.
config MV_ETH_BM_PORT_1_SHORT_BUF_NUM
int "Number of buffers for Short pool of GbE #1"
depends on MV_ETH_BM_PORT_1
range 1 16384
default 3072
---help---
Number of short buffers allocated for this port.
menuconfig MV_ETH_BM_PORT_2
depends on (MV_ETH_BM && (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1) && (MV_ETH_PORTS_NUM != 2))
bool "BM configuration for GbE #2"
default y
---help---
config MV_ETH_BM_PORT_2_LONG_POOL
int "Long BM pool for GbE #2"
depends on MV_ETH_BM_PORT_2
range -1 3 if MV_ETH_BM_CPU
range 0 3 if !MV_ETH_BM_CPU
default 2
---help---
BM pool to be used for GbE #2 port to process long packets.
-1 means that port will choose BM pool closest to required buffers size.
config MV_ETH_BM_PORT_2_SHORT_POOL
int "Short BM pool for GbE #2"
depends on MV_ETH_BM_PORT_2
range 0 3
default 3
---help---
BM pool to be used for GbE #2 port to process short packets.
config MV_ETH_BM_PORT_2_LONG_BUF_NUM
int "Number of buffers for Long pool of GbE #2"
depends on MV_ETH_BM_PORT_2
range 1 16384
default 2048
---help---
Number of long buffers allocated for this port.
config MV_ETH_BM_PORT_2_SHORT_BUF_NUM
int "Number of buffers for Short pool of GbE #2"
depends on MV_ETH_BM_PORT_2
range 1 16384
default 3072
---help---
Number of short buffers allocated for this port.
menuconfig MV_ETH_BM_PORT_3
depends on (MV_ETH_BM && (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1) && (MV_ETH_PORTS_NUM != 2) && (MV_ETH_PORTS_NUM != 3))
bool "BM configuration for GbE #3"
default y
---help---
config MV_ETH_BM_PORT_3_LONG_POOL
int "Long BM pool for GbE #3"
depends on MV_ETH_BM_PORT_3
range -1 3 if MV_ETH_BM_CPU
range 0 3 if !MV_ETH_BM_CPU
default 3
---help---
BM pool to be used for GbE #3 port to process long packets.
-1 means that port will choose BM pool closest to required buffers size.
config MV_ETH_BM_PORT_3_SHORT_POOL
int "Short BM pool for GbE #3"
depends on MV_ETH_BM_PORT_3
range 0 3
default 3
---help---
BM pool to be used for GbE #3 port to process short packets.
config MV_ETH_BM_PORT_3_LONG_BUF_NUM
int "Number of buffers for Long pool of GbE #3"
depends on MV_ETH_BM_PORT_3
range 128 16384
default 2048
---help---
Number of long buffers allocated for this port.
config MV_ETH_BM_PORT_3_SHORT_BUF_NUM
int "Number of buffers for Short pool of GbE #3"
depends on MV_ETH_BM_PORT_3 && (MV_ETH_BM_PORT_3_LONG_POOL != MV_ETH_BM_PORT_3_SHORT_POOL)
range 128 16384
default 3072
---help---
Number of short buffers allocated for this port.
endmenu
config MV_ETH_LEGACY_PARSER
depends on !MV_ETH_PNC
bool "Use legacy parser for incoming traffic"
default y
---help---
menuconfig MV_ETH_PNC
depends on MV_ETH_NETA
bool "PnC support"
default y
---help---
config MV_PNC_TCAM_LINES
depends on MV_ETH_PNC
int "Number of TCAM lines supported by PNC"
default 512
---help---
config MV_ETH_PNC_MCAST_NUM
depends on MV_ETH_PNC
int "Use PnC for Multicast MAC addresses filtering"
default 8
---help---
Number of Multicast addresses can be matched and accepted
for all ports
config MV_ETH_PNC_VLAN_PRIO
depends on MV_ETH_PNC
int "Use PnC for VLAN priority mapping"
range 0 32
default 7
---help---
Number of VLAN priorities can be mapped to different RXQs for all ports
config MV_ETH_PNC_ETYPE
depends on MV_ETH_PNC
int "Use PnC for extra ETYPE detection"
default 0
---help---
Number of extra ETYPEs can be detected in addition to
ARP, IPv4, IPv6, PPPoE are detected by default.
config MV_ETH_PNC_DSCP_PRIO
depends on MV_ETH_PNC
int "Use PnC for DSCP priority mapping"
range 0 256
default 16
---help---
Number of DSCP priorities can be mapped to different RXQs for all ports
config MV_ETH_PNC_L3_FLOW
depends on MV_ETH_PNC
bool "Use PNC for L3 Flows detection"
default n
---help---
Use PNC rules for IPv4 and IPv6 Flows processing.
When enabled, MV_ETH_PNC_WOL will be disabled.
config MV_ETH_PNC_WOL
depends on MV_ETH_PNC
bool "Use PNC for Wake On LAN support"
default n
---help---
Use PNC rules for TCAM filtering for Wake on LAN support.
menuconfig MV_ETH_HWF
depends on (MV_ETH_PNC && MV_ETH_BM)
bool "Hardware Forwarding support (HWF)"
default y
---help---
config MV_ETH_HWF_TXQ_DROP
depends on MV_ETH_HWF
int "HWF Drop Threshold [%]"
default 60
---help---
config MV_ETH_HWF_TXQ_DROP_RND
depends on MV_ETH_HWF
int "HWF Drop Random Generator bits"
default 0
---help---
config MV_ETH_PMT
depends on MV_ETH_NETA
bool "Packet Modification Table (PMT)"
default n
---help---
config MV_ETH_PMT_FLOWS
int "Number of different flows can be set to PMT"
depends on MV_ETH_PMT
default 256
---help---
Depend on total number of PMT entries and
number of PMT entires reserved for each flow.
MV_ETH_PMT_SIZE >= (MV_ETH_PMT_FLOWS * (MV_ETH_PMT_CMD_PER_FLOW + 1))
config MV_ETH_PMT_CMD_PER_FLOW
int "Number of PMT entries reserved for each flow"
depends on MV_ETH_PMT
default 12
---help---
Depend on total number of PMT entries and
number of flows to be supported.
MV_ETH_PMT_SIZE >= (MV_ETH_PMT_FLOWS * (MV_ETH_PMT_CMD_PER_FLOW + 1))
menu "Network Interface configuration"
config MV_ETH_0_MTU
int "Giga port #0 MTU value"
depends on (MV_ETH_PORTS_NUM != 0)
default 1500
---help---
Default MTU value for Marvell GbE port #0
config MV_ETH_0_MACADDR
string "Giga port #0 MAC address"
depends on (MV_ETH_PORTS_NUM != 0)
default "00:00:00:00:00:80"
---help---
Default MAC address for Marvell GbE port #0
config MV_ETH_1_MTU
int "Giga port #1 MTU value"
depends on (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1)
default 1500
---help---
Default MTU value for Marvell GbE port #1
config MV_ETH_1_MACADDR
string "Giga port #1 MAC address"
depends on (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1)
default "00:00:00:00:00:81"
---help---
Default MAC address for Marvell GbE port #1
config MV_ETH_2_MTU
int "Giga port #2 MTU value"
depends on (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1) && (MV_ETH_PORTS_NUM != 2)
default 1500
---help---
Default MTU value for Marvell GbE port #2
config MV_ETH_2_MACADDR
string "Giga port #2 MAC address"
depends on (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1) && (MV_ETH_PORTS_NUM != 2)
default "00:00:00:00:00:82"
---help---
Default MAC address for Marvell GbE port #2
config MV_ETH_3_MTU
int "Giga port #3 MTU value"
depends on (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1) && (MV_ETH_PORTS_NUM != 2) && (MV_ETH_PORTS_NUM != 3)
default 1500
---help---
Default MTU value for Marvell GbE port #3
config MV_ETH_3_MACADDR
string "Giga port #3 MAC address"
depends on (MV_ETH_PORTS_NUM != 0) && (MV_ETH_PORTS_NUM != 1) && (MV_ETH_PORTS_NUM != 2) && (MV_ETH_PORTS_NUM != 3)
default "00:00:00:00:00:83"
---help---
Default MAC address for Marvell GbE port #3
endmenu
menu "Rx/Tx Queue configuration"
config MV_ETH_RXQ
int "Number of RX queues"
default 1
---help---
Multiple RX queue support.
config MV_ETH_TXQ
int "Number of TX queues"
default 1
---help---
Multiple TX queue support.
config MV_ETH_RXQ_DESC
int "Number of Rx descriptors"
depends on (MV_ETH_PORTS_NUM != 0)
default 128
---help---
The number of Rx descriptors in each Rx queue.
config MV_ETH_RXQ_DEF
int "Default RXQ to recieve packets"
default 0
---help---
config MV_ETH_TXQ_DESC
int "Number of Tx descriptors"
depends on (MV_ETH_PORTS_NUM != 0)
default 532
---help---
The number of Tx descriptors in each Tx queue.
config MV_ETH_TXQ_DEF
int "Default TXQ to send local generated packets"
default 0
---help---
endmenu
menu "IP/TCP/UDP Offloading"
config MV_ETH_TX_CSUM_OFFLOAD
bool "L3/L4 TX checksum offload support for Marvell network interface"
default y
---help---
Marvell network driver compiled with TCP/UDP over IPv4/IPv6 TX checksum offload support.
config MV_ETH_TX_CSUM_OFFLOAD_DEF
depends on MV_ETH_TX_CSUM_OFFLOAD
bool "Default value for L3/L4 TX checksum offload: enable/disable"
default y
---help---
Can be changed in run-time using ethtool
config MV_ETH_RX_CSUM_OFFLOAD
bool "L3/L4 RX checksum offload support for Marvell network interface"
default y
---help---
Marvell network driver compiled with TCP/UDP over IPv4/IPv6 RX checksum offload support.
config MV_ETH_RX_CSUM_OFFLOAD_DEF
depends on MV_ETH_RX_CSUM_OFFLOAD
bool "Default value for L3/L4 RX checksum offload: enable/disable"
default y
---help---
Can be changed in run-time using ethtool
config MV_ETH_GRO
bool "GRO Support for Marvell network interface"
default y
---help---
Marvell network driver compiled with GRO (Generic Receive Offload) support.
config MV_ETH_GRO_DEF
depends on MV_ETH_GRO
bool "Default value for GRO feature: enable/disable"
default n
---help---
Can be changed in run-time using ethtool
config MV_ETH_TSO
bool "TSO Support for Marvell network interface"
default y
---help---
Marvell network driver compiled with TSO (TCP Segmentation Offload) support.
config MV_ETH_TSO_DEF
depends on MV_ETH_TSO
bool "Default value for TSO feature: enable/disable"
default n
---help---
Can be changed in run-time using ethtool
endmenu
menu "Control and Statistics"
config MV_ETH_DEBUG_CODE
bool "Add run-time debug code"
default n
---help---
Enable run-time enable/disable enter debug code blocks
config MV_ETH_STAT_ERR
bool "Collect error statistics"
default y
---help---
Marvell network interface driver collect minimal number of statistics.
Only for error conditions. Can be displayed using mv_eth_tool.
config MV_ETH_STAT_INF
bool "Collect event statistics"
default y
---help---
Marvell network interface driver collect event statistics.
Provide more information about driver functionality and almost doesn't
effect performance. Can be displayed using mv_eth_tool.
config MV_ETH_STAT_DBG
bool "Collect debug statistics"
default n
---help---
Marvell network interface driver collect a lot of statistics.
Used for Debug mode. Decrease performance. Can be displayed using mv_eth_tool.
config MV_ETH_STAT_DIST
bool "Collect debug distribution statistics"
default n
---help---
Marvell network interface driver collect a lot of statistics.
Used for Debug mode. Decrease performance. Can be displayed using mv_eth_tool.
config MV_LINUX_COUNTERS_DISABLE
bool "Disable collection of SNMP statistics and Netfilter Contract statistics"
default n
---help---
Disable collection of SNMP statistics and Netfilter Contract statistics to improve performance.
config MV_ETH_TOOL
bool "Support ethtool controls"
default y
---help---
Support kernel's SIOCETHTOOL for ethtool utility
endmenu
menu "Advanced Features"
config NET_SKB_HEADROOM
int "SKB headroom size"
default 64
---help---
Customize SKB headroom size. Must be power of 2.
config NET_SKB_RECYCLE
bool "Skb recycle"
default y
---help---
Work-in-progress and experimental.
This option enables skb's to be returned via a callback at kfree to
the allocator to make a fastpath for very skb consuming network
applications.
config NET_SKB_RECYCLE_DEF
depends on NET_SKB_RECYCLE
int "Default value for SKB recycle: 0 - disable, 1 - enable"
default 1
---help---
config MV_ETH_TX_DONE_TIMER_PERIOD
int "Periodical Tx Done timer period"
default 10
---help---
Periodical timer period for Tx Done operation in [msec].
config MV_ETH_CLEANUP_TIMER_PERIOD
int "Periodical Cleanup timer period"
default 10
---help---
Periodical timer period for cleanup operation in [msec].
config MV_ETH_TXDONE_ISR
bool "Use interrupt to process TX_DONE event"
default n
---help---
When chosen TX_DONE event will be process in interrupt mode
When unchosen TX_DONE event will be processed in polling mode
config MV_ETH_TXDONE_COAL_PKTS
int "Threshold for TX_DONE event trigger"
default 16
---help---
Number of packets will be sent before TX_DONE event will be triggered
by interrupt or polling.
config MV_ETH_RX_COAL_PKTS
int "Threshold [number of packets] for RX interrupt"
default 32
---help---
Number of packets will be received before RX interrupt will be generated by HW.
config MV_ETH_RX_COAL_USEC
int "Threshold [usec] for RX interrupt"
default 100
---help---
Time delay in usec before RX interrupt will be generated by HW if number of
received packets larger than 0 but smaller than MV_ETH_RX_COAL_PKTS
config MV_ETH_RX_DESC_PREFETCH
bool "Enable RX descriptor prefetch"
default n
---help---
Use pld instruction to prefetch one RX descriptor ahead
config MV_ETH_RX_PKT_PREFETCH
bool "Enable RX packet prefetch"
default n
---help---
Use pld instruction to prefetch first two cache lines of received packet data
config MV_ETH_RX_SPECIAL
depends on MV_ETH_PNC
bool "Enable special RX processing"
default n
---help---
Enable special RX processing for packets with RI_RX_SEPCIAL PNC result info bit set
config MV_ETH_TX_SPECIAL
bool "Enable special TX processing"
default n
---help---
Enable special TX processing for packets with signal header (SH)
config MV_ETH_L2FW
bool "L2 Forwarding support"
default n
---help---
Enable L2 Forwarding support for received packets.
Three modes are supported: Send packet without change, Swap MAC DA<->SA,
Copy the whole packet and swap MAC
config MV_ETH_L2SEC
bool "L2 Forwarding IPSec support"
depends on MV_ETH_L2FW
default n
---help---
Handle encrypted packets with CESA.
config MV_ETH_L2FW_DEBUG
depends on MV_ETH_L2FW
bool "Add run-time L2FW debug code"
default n
---help---
Enable L2FW run-time enable/disable enter debug code blocks
config MV_ETH_RX_POLL_WEIGHT
int "poll weight for the RX poll() function"
default 64
range 1 255
---help---
poll weight for the RX poll() function; must be less or equal to 255
config MV_ETH_EXTRA_BUF_SIZE
int "Extra buffer size in bytes"
default 120
range 120 16384
---help---
Size of buffers allocated for extra pool and used in special cases like TSO,
fragmentattion and others
config MV_ETH_EXTRA_BUF_NUM
int "Number of extra buffers allocated for each port"
default MV_ETH_TXQ_DESC
---help---
Number of extra buffers allocated for each port
endmenu
menu "NFP support"
config MV_ETH_NFP
tristate "Use Network Fast Processing (NFP)"
default n
---help---
Choosing this option will enable Network Fast Processing.
config MV_ETH_NFP_DEF
depends on MV_ETH_NFP
int "Default value for NFP state: 0 - OFF, 1 - ON"
default 0
range 0 1
---help---
config MV_ETH_NFP_MODE_DEF
depends on MV_ETH_NFP
int "Default value for NFP mode: 1 - 2 tuple mode, 2 - 5 tuple mode"
default 1
range 1 2
---help---
config MV_ETH_NFP_EXT
bool "Support NFP for External (non GBE) network interfaces"
depends on MV_ETH_NFP
default n
---help---
Choosing this option will enable NFP for non-GBE network interfaces.
config MV_ETH_NFP_EXT_NUM
int "Maximum number of External (non-Gbe) interfaces"
depends on MV_ETH_NFP_EXT
default 1
range 1 4
---help---
config MV_ETH_NFP_BRIDGE
bool "Support NFP Bridging"
default y
depends on MV_ETH_NFP
---help---
Choosing this option will enable NFP bridging support.
choice
prompt "NFP Bridging Mode"
depends on MV_ETH_NFP_BRIDGE
default MV_ETH_NFP_FDB_MODE
config MV_ETH_NFP_FDB_MODE
bool "NFP FDB"
depends on MV_ETH_NFP_BRIDGE
---help---
enable NFP FDB mode
config MV_ETH_NFP_BRIDGE_MODE
bool "NFP Bridge"
depends on MV_ETH_NFP_BRIDGE
---help---
enable NFP Bridge Mode
endchoice
config MV_ETH_NFP_FDB_LEARN
depends on MV_ETH_NFP_BRIDGE && MV_ETH_NFP_FDB_MODE && BRIDGE && MV_ETH_NFP!=m
bool "Support NFP FDB Dynamic Learning"
default y
---help---
enable NFP bridging dynamic learning via NFP hooks
config MV_ETH_NFP_FDB_LEARN_DEF
depends on MV_ETH_NFP_FDB_LEARN
int "Default value for NFP FDB Dynamic Learning: 0 - disable, 1 - enable"
default 1
range 0 1
---help---
config MV_ETH_NFP_VLAN
bool "Support NFP VLANs processing"
default y
depends on MV_ETH_NFP
---help---
Choosing this option will enable NFP VLANs support.
config MV_ETH_NFP_VLAN_LEARN
depends on MV_ETH_NFP_VLAN && VLAN_8021Q && MV_ETH_NFP!=m
bool "Support NFP VLAN Dynamic Learning"
default y
---help---
Choosing this option will enable NFP VLAN dynamic learning via NFP hooks
in Linux Network stack.
config MV_ETH_NFP_VLAN_LEARN_DEF
depends on MV_ETH_NFP_VLAN_LEARN
int "Default value for NFP VLAN Dynamic Learning: 0 - disable, 1 - enable"
default 1
range 0 1
---help---
config MV_ETH_NFP_FIB
bool "Support NFP Routing"
default y
depends on MV_ETH_NFP
---help---
Choosing this option will enable NFP routing support.
config MV_ETH_NFP_FIB_LEARN
depends on MV_ETH_NFP_FIB && MV_ETH_NFP!=m
bool "Support NFP Routing Dynamic Learning"
default y
---help---
Choosing this option will enable NFP Routing dynamic learning via NFP hooks
in Linux Network stack.
config MV_ETH_NFP_FIB_LEARN_DEF
depends on MV_ETH_NFP_FIB_LEARN
int "Default value for NFP Routing Dynamic Learning: 0 - disable, 1 - enable"
default 1
range 0 1
---help---
config MV_ETH_NFP_CT
bool "Support NFP 5 Tuple Rules"
depends on MV_ETH_NFP_FIB
default y
---help---
Choosing this option will enable NFP 5 Tuple Rules support.
config MV_ETH_NFP_CT_LEARN
depends on MV_ETH_NFP_CT && NF_CONNTRACK && MV_ETH_NFP!=m
bool "Support NFP 5 Tuple Dynamic Learning"
default y
---help---
Choosing this option will enable NFP 5 Tuple dynamic learning via NFP hooks
in Linux Network stack.
config MV_ETH_NFP_CT_LEARN_DEF
depends on MV_ETH_NFP_CT_LEARN
int "Default value for NFP 5 Tuple Dynamic Learning: 0 - disable, 1 - enable"
default 1
range 0 1
---help---
config MV_ETH_NFP_NAT
bool "Support NFP NAT"
depends on MV_ETH_NFP_CT
default y
---help---
Choosing this option will enable NFP NAT support.
config MV_ETH_NFP_LIMIT
bool "Support NFP Ingress Rate Limiting"
depends on MV_ETH_NFP_CT
default n
---help---
Choosing this option will enable NFP rate limitation support based on 5 tuple rule.
config MV_ETH_NFP_CLASSIFY
bool "Support NFP Classification rules"
depends on MV_ETH_NFP_CT || MV_ETH_NFP_BRIDGE
default y
---help---
Choosing this option will enable NFP classification rules (DSCP and VLAN modification and Tx queue selection)
config MV_ETH_NFP_PPP
bool "Support NFP PPPoE"
depends on MV_ETH_NFP_FIB && MV_ETH_PNC
default n
---help---
Choosing this option will enable NFP PPPoE protocol.
config MV_ETH_NFP_PPP_LEARN
depends on MV_ETH_NFP_PPP && PPPOE && MV_ETH_NFP!=m
bool "Support NFP PPPoE Dynamic Learning"
default y
---help---
Choosing this option will enable NFP PPPoE dynamic learning via NFP hooks
in Linux Network stack.
config MV_ETH_NFP_PPP_LEARN_DEF
depends on MV_ETH_NFP_PPP_LEARN
int "Default value for NFP PPPoE Dynamic Learning: 0 - disable, 1 - enable"
default 1
range 0 1
---help---
config MV_ETH_NFP_STATS
bool "Collect NFP Statistics"
depends on MV_ETH_NFP
default n
---help---
Collect NFP statistics. Can be displayed using mv_eth_tool.
config MV_ETH_NFP_DEBUG
bool "Add NFP debug code"
depends on MV_ETH_NFP
default n
---help---
Add NFP sanity check code
endmenu
menu "NAPI GROUPS"
config MV_ETH_NAPI_GROUPS
int "Number of NAPI instances which can be used per port"
range 1 NR_CPUS if SMP
range 1 1 if !SMP
default 1
---help---
Different RXQs and TXQs can be processed by different CPU using different NAPI instances
menu "Group 0"
config MV_ETH_GROUP0_CPU
hex "CPU affinity for group0"
range 0x0 0xf if (NR_CPUS=4)
range 0x0 0x7 if (NR_CPUS=3)
range 0x0 0x3 if (NR_CPUS=2)
range 0x0 0x1 if (NR_CPUS=1)
default 0xf
config MV_ETH_GROUP0_RXQ
hex "RXQ affinity for group0"
range 0x0 0xff
default 0xff
endmenu
menu "Group 1"
depends on (MV_ETH_NAPI_GROUPS !=1)
config MV_ETH_GROUP1_CPU
hex "CPU affinity for group1"
range 0x0 0xf if (NR_CPUS=4)
range 0x0 0x7 if (NR_CPUS=3)
range 0x0 0x3 if (NR_CPUS=2)
range 0x0 0x3 if (NR_CPUS=1)
default 0x0
config MV_ETH_GROUP1_RXQ
hex "RXQ affinity for group1"
range 0x0 0xff
default 0x0
endmenu
menu "Group 2"
depends on (MV_ETH_NAPI_GROUPS !=1) && (MV_ETH_NAPI_GROUPS !=2)
config MV_ETH_GROUP2_CPU
hex "CPU affinity for group2"
range 0x0 0xf if (NR_CPUS=4)
range 0x0 0x7 if (NR_CPUS=3)
range 0x0 0x3 if (NR_CPUS=2)
range 0x0 0x3 if (NR_CPUS=1)
default 0x0
config MV_ETH_GROUP2_RXQ
hex "RXQ affinity for group2"
range 0x0 0xff
default 0x0
endmenu
menu "Group 3"
depends on (MV_ETH_NAPI_GROUPS !=1) && (MV_ETH_NAPI_GROUPS !=2) && (MV_ETH_NAPI_GROUPS !=3)
config MV_ETH_GROUP3_CPU
hex "CPU affinity for group3"
range 0x0 0xf if (NR_CPUS=4)
range 0x0 0x7 if (NR_CPUS=3)
range 0x0 0x3 if (NR_CPUS=2)
range 0x0 0x3 if (NR_CPUS=1)
default 0x0
config MV_ETH_GROUP3_RXQ
hex "RXQ affinity for group3"
range 0x0 0xff
default 0x0
endmenu
endmenu
menu "PON support for Network driver"
config MV_PON
bool "PON support"
depends on MV_ETH_NETA && MV_INCLUDE_PON
---help---
Choose this option to support PON port in Marvell network driver
config MV_PON_TXP_DEF
int "Default T-CONT to send local generated packets"
depends on MV_PON
default 0
---help---
config MV_PON_TXQ_DEF
int "Default TXQ to send local generated packets"
depends on MV_PON
default 0
---help---
endmenu
menu "Switch support"
config MV_ETH_SWITCH
bool "Switch support"
depends on MV_INCLUDE_SWITCH
---help---
Choose this option to support Gigabit Ethernet Controller connected to
on-board QuarterDeck switch family
config MV_ETH_SWITCH_NETDEV_NUM
int "Maximum number of subnets on switch ports"
depends on MV_ETH_SWITCH
default 4
---help---
Valid range range from 1 to BOARD_ETH_SWITCH_PORT_NUM
config MV_ETH_SWITCH_NETCONFIG_0
string "Switch network configuration for GbE port 0"
depends on MV_ETH_SWITCH
default "3,(00:11:66:11:66:11,0)(00:22:77:22:77:22,1:2:3:4),mtu=1500"
---help---
Set the network configuration when giga port connected to switch.
For each interface, define the interface
name, MAC address and participating ports.
config MV_ETH_SWITCH_NETCONFIG_1
string "Switch network configuration for GbE port 1"
depends on MV_ETH_SWITCH
default "0"
---help---
Set the network configuration when giga port connected to switch.
For each interface, define the interface
name, MAC address and participating ports.
config MV_ETH_SWITCH_LINK
bool "Link status change indications"
depends on MV_ETH_SWITCH
default y
---help---
Support Phy link status change indications.
endmenu
menu "ERRATA / WA"
config MV_ETH_ERRATA_SMI_ACCESS
bool "use SMI port 1 instead of SMI port 0"
depends on ARMADA_XP_REV_Z1
default y
---help---
Using SMI port 1 instead of SMI port 0 prevents the
link up/link down on a different port than the port on which
an action such as changing speed or starting autonegotiation is done.
(NetA BTS #313, DSMP LSP #42, ARMADA XP Z1).
config MV_ETH_REDUCE_BURST_SIZE_WA
bool "Limit burst size of RX and TX transactions to 16B in IOCC mode"
depends on AURORA_IO_CACHE_COHERENCY
default y
---help---
To avoid CPU make invalidate which might cause hang, force partial
read/write by limiting the burst size to 16B since it is less than the
size of a cache line.
config MV_ETH_BE_WA
bool "WA for RX and TX descriptors swap in HW issue"
depends on CPU_ENDIAN_BE32
default n
---help---
If set swap of RX and TX descriptors in BE mode will be done by driver
config MV_ETH_6601_LB_WA
bool "WA for 6601 (KW MC) w/ loopback traffic to CPU"
default n
---help---
If set, RX traffic to CPU from GMAC1 is switched to GMAC0 netdev (eth1)
endmenu