| 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 |