DPDK EthDev Test Suite
1.0
  • Introduction
    • References
    • Conventions
    • Testbed
    • Test parameters
      • Parameter naming conventions
    • Test Suite Structure
  • Terminology and Abbreviations
    • Terminology
    • Abbreviations
  • References List
  • TRC Tags List
    • Operating systems
    • Bitness
  • DPDK PMD Tests Description
    • Filters
      • Check RTE flow API rules implying COUNT actions
        • flow_rule_counters
      • Check for decreasing TTL value for DEC_TTL action
      • Check RTE flow API rules implying decapsulation actions on ingress
        • flow_rule_decap_on_ingress
      • Testing drop of packets that match flow rule with DROP action
        • flow_rule_drop
      • Check RTE flow API rules implying encapsulation actions on egress
        • flow_rule_encap_on_egress
      • Test ingress to specific queue flow API rules
        • flow_rule_in2q
      • Check RTE flow API rules implying MARK and FLAG actions
        • flow_rule_mark_and_flag
      • Multiple count actions in a flow rule
        • flow_rule_multi_count
      • Reflect Rx traffic back to the physical port
        • flow_rule_reflect
      • Check RTE flow API rules implying RSS actions
        • flow_rule_rss
      • Test RTE flow API VLAN ID matching
        • flow_rule_vlan
      • Check RTE flow API rules with VLAN tag push
        • flow_rule_vlan_push
      • Flow tunnel offload
        • flow_tunnel
    • Performance
      • Base test for l2fwd application
        • l2fwd_simple
      • Test dpdk-testpmd performance in loopback mode
        • testpmd_loopback
      • Test dpdk-testpmd performance in IO forward mode
        • testpmd_rxonly
        • Test dpdk-testpmd performance in Rx only mode on four ports simultaneously
        • Test dpdk-testpmd performance in Rx only mode on two ports simultaneously
      • Test dpdk-testpmd performance in Tx only mode
        • testpmd_txonly
    • Representors
      • Test RTE flow API PORT ID action
        • flow_rule_port_id
      • Port representors hotplug
        • hotplug
      • Simulate HW offload
        • hw_offload_simulate
      • Simulate HW offload
        • ovs_decap_hw_offload
    • Reliability in Normal Use
      • All-multicast mode test
        • all_multicast_mode
      • Deferred start RX queue test
      • Deferred start TX queue test
      • Check custom RSS settings at start of day
        • dev_conf_rss_adv
      • Test dev_info
      • Test to check device dev_reconfigure
      • Validate FEC mode configuration
      • Get current status of the Ethernet link flow
        • flow_ctrl_get
      • Set new status of the Ethernet link flow
      • Retrieve FW version
      • Get MTU test
        • get_mtu
      • IO forward + flow rule check
      • The parntner reaction to link status changes of iut_port
      • Simple multi-process usecase
      • Promiscuous mode test
        • promiscuous_mode
      • Test RSS viability
        • rss
      • Get RSS hash computation test
        • rss_hash_conf_get
      • Get RSS hash info test
        • rss_hash_info
      • Query Redirection Table of RSS
        • rss_reta_query
      • Update the Redirection Table of RSS test
        • rss_reta_update
      • Setup Rx queue at run time
        • runtime_rx_queue_setup_with_flow
      • Setup Rx queue at runtime
        • runtime_rx_queue_setup_with_rss
      • Setup Tx queue when device is started
        • runtime_tx_queue_setup
      • RX burst simple test
        • rx_burst_simple
      • Rx behavior with different descriptors number
        • rx_desc_nb
      • Check Rx descriptor status correctness
        • rx_descriptor_status
      • Test Rx interrupts
        • rx_intr
      • Rx checksum offload sanity check
        • rx_offload_checksum
      • Check Rx traffic classification
        • rx_ptype
      • Rx behavior with number of packets greater than descriptors number
        • rx_ring_wrap
      • Test of RX scatter function
        • rx_scatter
      • Test of Rx statistics
        • rx_stats
      • default MAC address test
        • set_default_mac_addr
      • Set the list of multicast addresses to filter on @b iut_port port
        • set_mc_addr_list
      • Set mtu test
        • set_mtu
      • Test of statistics reset
        • stats_reset
      • Test detach
      • Check tunnel UDP port configuration
        • tunnel_udp_port_config
      • TX burst simple test
        • tx_burst_simple
      • Tx behavior with different descriptors number
        • tx_desc_nb
      • Check Tx descriptor status correctness
        • tx_descriptor_status
      • TX multi burst test
        • tx_multi_burst
      • Set port based VLAN ID
        • tx_pvid
      • Test of Tx statistics
        • tx_stats
      • Update the RSS hash configuration
        • update_rss_hash_conf
      • VLAN filter offload
        • vlan_filter
      • VLAN strip offload
        • vlan_strip
      • Check extended statistics retrieval by IDs
        • xstats_by_id
      • Read xstats in different device states
        • xstats_dev_state
    • Transmit Functionality
      • Prove that VLAN ID alternation is done correctly
        • alternate_vlan
      • Send one packet
        • Check encapsulated TSO and VLAN insertion when one IPv4-in-IPv4 packet in few memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv4-in-IPv4 packet in many memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv4-in-IPv6 packet in many memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv4-in-IPv6 packet in one memory segment is sent
        • Check encapsulated TSO and VLAN insertion when one IPv4-in-IPv6 packet in few memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv6-in-IPv4 packet in many memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv6-in-IPv4 packet in few memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv6-in-IPv4 packet in one memory segment is sent
        • Check encapsulated TSO and VLAN insertion when one IPv6-in-IPv6 packet in one memory segment is sent
        • Check encapsulated TSO and VLAN insertion when one IPv6-in-IPv6 packet in many memory segments is sent
        • Check encapsulated TSO and VLAN insertion when one IPv6-in-IPv6 packet in few memory segments is sent
        • Check TSO and VLAN insertion when one IPv4 packet in few memory segments is sent
        • Check TSO and VLAN insertion when one IPv4 packet in many memory segments is sent
        • Check TSO and VLAN insertion when one IPv6 packet in few memory segments is sent
        • Check TSO and VLAN insertion when one IPv6 packet in many memory segments is sent
        • Check TSO and VLAN insertion when one IPv6 packet in one memory segment is sent
        • Check VLAN insertion and checksum offloads when one IPv4 packet in few memory segments is sent
        • Check VLAN insertion and checksum offloads when one IPv4 packet in many memory segments is sent
        • Check VLAN insertion and checksum offloads when one IPv4 packet in one memory segment is sent
        • Check VLAN insertion and checksum offloads when one IPv6 packet in few memory segments is sent
        • Check VLAN insertion and checksum offloads when one IPv6 packet in many memory segments is sent
        • Check VLAN insertion and checksum offloads when one IPv6 packet in one memory segment is sent
        • one_packet
      • Iteration details for the package
      • Send one packet and request offloads
        • one_packet_with_dpdk_rx
      • Prove that reap is done correctly on port stop
        • reap_on_stop
      • Sanity check VLAN offload on packet drop
        • vlan_on_packet_drop
      • Prove that VLAN ID is kept on port restart
        • vlan_on_port_restart
      • Exclude VLAN tag interference between TxQs
        • vlan_txqs_interference
  • Common test parameters
    • env.peer2peer
    • env.peer2peer_ip6
    • env.perf.iut_only
    • env.perf.peer2peer
    • env.perf.peer2peerX2
    • env.perf.peer2peerX4
    • ethdev_fc_conf.mode.all
    • ethdev_state.all
    • flow_rule.rss.3tuple.tcp.custom
    • flow_rule.rss.3tuple.tcp.default
    • flow_rule_actions.flag
    • flow_rule_actions.mark
    • flow_rule_pattern.3tuple.tcp
    • flow_rule_pattern.3tuple.udp
    • flow_rule_pattern.3tuple.udp6
    • flow_rule_pattern.5tuple.tcp
    • flow_rule_pattern.5tuple.udp
    • flow_rule_pattern.5tuple.udp6
    • flow_rule_pattern.dst_mac
    • flow_rule_pattern.dst_mac.3tuple.tcp
    • flow_rule_pattern.dst_mac.3tuple.udp
    • flow_rule_pattern.dst_mac.5tuple.tcp
    • flow_rule_pattern.dst_mac.5tuple.udp
    • flow_rule_pattern.dst_mac.ethertype
    • flow_rule_pattern.dst_mac.ethertype.ip4
    • flow_rule_pattern.dst_mac.ip_proto
    • flow_rule_pattern.dst_mac.ip_proto.udp
    • flow_rule_pattern.dst_mac.outer_vid
    • flow_rule_pattern.dst_mac.vsid.ifrm_dst_mac.geneve
    • flow_rule_pattern.dst_mac.vsid.ifrm_dst_mac.geneve6
    • flow_rule_pattern.dst_mac.vsid.ifrm_dst_mac.nvgre
    • flow_rule_pattern.dst_mac.vsid.ifrm_dst_mac.vxlan
    • flow_rule_pattern.dst_mac.vsid.ifrm_dst_mac.vxlan6
    • flow_rule_pattern.ethertype
    • flow_rule_pattern.ethertype.4tuple.vxlan
    • flow_rule_pattern.ethertype.arp
    • flow_rule_pattern.ethertype.ip4
    • flow_rule_pattern.ethertype.ip6
    • flow_rule_pattern.ethertype.outer_vid
    • flow_rule_pattern.ethertype.outer_vid.inner_vid
    • flow_rule_pattern.ethertype.pppoed
    • flow_rule_pattern.ethertype.pppoes
    • flow_rule_pattern.ip4.udp_dst.vsid.ifrm_dst_mac.vxlan
    • flow_rule_pattern.ip4.udp_dst.vsid.vxlan
    • flow_rule_pattern.ip6.udp_dst.vsid.ifrm_dst_mac.vxlan
    • flow_rule_pattern.ip6.udp_dst.vsid.vxlan
    • flow_rule_pattern.ip_proto
    • flow_rule_pattern.ip_proto.icmp4
    • flow_rule_pattern.ip_proto.tcp
    • flow_rule_pattern.ip_proto.udp
    • flow_rule_pattern.outer_vid.ip_proto
    • flow_rule_pattern.unknown_mcast_dst_mac
    • flow_rule_pattern.unknown_ucast_dst_mac
    • flow_rule_pattern.vsid.ifrm_dst_mac.vxlan
    • flow_rule_pattern.vsid.vxlan
    • tmpl.any.eth
    • tmpl.iut2bcast.eth
    • tmpl.iut2mcast.eth
    • tmpl.iut2tst.eth
    • tmpl.iut2tst.geneve4.tcp4
    • tmpl.iut2tst.geneve4.tcp4_fin_psh_cwr
    • tmpl.iut2tst.geneve4.tcp6
    • tmpl.iut2tst.geneve4.tcp6_fin_psh_cwr
    • tmpl.iut2tst.geneve6.tcp4
    • tmpl.iut2tst.geneve6.tcp4_fin_psh_cwr
    • tmpl.iut2tst.geneve6.tcp6
    • tmpl.iut2tst.geneve6.tcp6_fin_psh_cwr
    • tmpl.iut2tst.icmp4
    • tmpl.iut2tst.nvgre4.tcp4
    • tmpl.iut2tst.tcp4
    • tmpl.iut2tst.tcp4_fin_psh_cwr
    • tmpl.iut2tst.tcp6
    • tmpl.iut2tst.tcp6_fin_psh_cwr
    • tmpl.iut2tst.udp4
    • tmpl.iut2tst.udp6
    • tmpl.iut2tst.vxlan4.tcp4
    • tmpl.iut2tst.vxlan4.tcp4_fin_psh_cwr
    • tmpl.iut2tst.vxlan4.tcp6
    • tmpl.iut2tst.vxlan4.tcp6_fin_psh_cwr
    • tmpl.iut2tst.vxlan6.tcp4
    • tmpl.iut2tst.vxlan6.tcp4_fin_psh_cwr
    • tmpl.iut2tst.vxlan6.tcp6
    • tmpl.iut2tst.vxlan6.tcp6_fin_psh_cwr
    • tmpl.tst2bcast.eth
    • tmpl.tst2iut.arp4
    • tmpl.tst2iut.eth
    • tmpl.tst2iut.geneve4.arp4
    • tmpl.tst2iut.geneve4.eth
    • tmpl.tst2iut.geneve4.ip4_frag_first
    • tmpl.tst2iut.geneve4.ip4_frag_last
    • tmpl.tst2iut.geneve4.ip4_frag_middle
    • tmpl.tst2iut.geneve4.qinq
    • tmpl.tst2iut.geneve4.tcp4
    • tmpl.tst2iut.geneve4.udp4
    • tmpl.tst2iut.geneve4.vlan
    • tmpl.tst2iut.geneve6.arp4
    • tmpl.tst2iut.geneve6.eth
    • tmpl.tst2iut.geneve6.ip4_frag_first
    • tmpl.tst2iut.geneve6.ip4_frag_last
    • tmpl.tst2iut.geneve6.ip4_frag_middle
    • tmpl.tst2iut.geneve6.qinq
    • tmpl.tst2iut.geneve6.tcp4
    • tmpl.tst2iut.geneve6.udp4
    • tmpl.tst2iut.geneve6.vlan
    • tmpl.tst2iut.icmp4
    • tmpl.tst2iut.ip4_frag_first
    • tmpl.tst2iut.ip4_frag_last
    • tmpl.tst2iut.ip4_frag_middle
    • tmpl.tst2iut.nvgre4.arp4
    • tmpl.tst2iut.nvgre4.eth
    • tmpl.tst2iut.nvgre4.ip4_frag_first
    • tmpl.tst2iut.nvgre4.ip4_frag_last
    • tmpl.tst2iut.nvgre4.ip4_frag_middle
    • tmpl.tst2iut.nvgre4.qinq
    • tmpl.tst2iut.nvgre4.tcp4
    • tmpl.tst2iut.nvgre4.udp4
    • tmpl.tst2iut.nvgre4.vlan
    • tmpl.tst2iut.nvgre6.arp4
    • tmpl.tst2iut.nvgre6.eth
    • tmpl.tst2iut.nvgre6.ip4_frag_first
    • tmpl.tst2iut.nvgre6.ip4_frag_last
    • tmpl.tst2iut.nvgre6.ip4_frag_middle
    • tmpl.tst2iut.nvgre6.qinq
    • tmpl.tst2iut.nvgre6.tcp4
    • tmpl.tst2iut.nvgre6.udp4
    • tmpl.tst2iut.nvgre6.vlan
    • tmpl.tst2iut.qinq.arp4
    • tmpl.tst2iut.qinq.eth
    • tmpl.tst2iut.qinq.ip4_frag_first
    • tmpl.tst2iut.qinq.ip4_frag_last
    • tmpl.tst2iut.qinq.ip4_frag_middle
    • tmpl.tst2iut.qinq.tcp4
    • tmpl.tst2iut.qinq.tcp6
    • tmpl.tst2iut.qinq.udp4
    • tmpl.tst2iut.qinq.udp6
    • tmpl.tst2iut.qinq_geneve4.arp4
    • tmpl.tst2iut.qinq_geneve4.eth
    • tmpl.tst2iut.qinq_geneve4.ip4_frag_first
    • tmpl.tst2iut.qinq_geneve4.ip4_frag_last
    • tmpl.tst2iut.qinq_geneve4.ip4_frag_middle
    • tmpl.tst2iut.qinq_geneve4.qinq
    • tmpl.tst2iut.qinq_geneve4.tcp4
    • tmpl.tst2iut.qinq_geneve4.udp4
    • tmpl.tst2iut.qinq_geneve4.vlan
    • tmpl.tst2iut.qinq_geneve6.arp4
    • tmpl.tst2iut.qinq_geneve6.eth
    • tmpl.tst2iut.qinq_geneve6.ip4_frag_first
    • tmpl.tst2iut.qinq_geneve6.ip4_frag_last
    • tmpl.tst2iut.qinq_geneve6.ip4_frag_middle
    • tmpl.tst2iut.qinq_geneve6.qinq
    • tmpl.tst2iut.qinq_geneve6.tcp4
    • tmpl.tst2iut.qinq_geneve6.udp4
    • tmpl.tst2iut.qinq_geneve6.vlan
    • tmpl.tst2iut.qinq_nvgre4.arp4
    • tmpl.tst2iut.qinq_nvgre4.eth
    • tmpl.tst2iut.qinq_nvgre4.ip4_frag_first
    • tmpl.tst2iut.qinq_nvgre4.ip4_frag_last
    • tmpl.tst2iut.qinq_nvgre4.ip4_frag_middle
    • tmpl.tst2iut.qinq_nvgre4.qinq
    • tmpl.tst2iut.qinq_nvgre4.tcp4
    • tmpl.tst2iut.qinq_nvgre4.udp4
    • tmpl.tst2iut.qinq_nvgre4.vlan
    • tmpl.tst2iut.qinq_nvgre6.arp4
    • tmpl.tst2iut.qinq_nvgre6.eth
    • tmpl.tst2iut.qinq_nvgre6.ip4_frag_first
    • tmpl.tst2iut.qinq_nvgre6.ip4_frag_last
    • tmpl.tst2iut.qinq_nvgre6.ip4_frag_middle
    • tmpl.tst2iut.qinq_nvgre6.qinq
    • tmpl.tst2iut.qinq_nvgre6.tcp4
    • tmpl.tst2iut.qinq_nvgre6.udp4
    • tmpl.tst2iut.qinq_nvgre6.vlan
    • tmpl.tst2iut.qinq_vxlan4.arp4
    • tmpl.tst2iut.qinq_vxlan4.eth
    • tmpl.tst2iut.qinq_vxlan4.ip4_frag_first
    • tmpl.tst2iut.qinq_vxlan4.ip4_frag_last
    • tmpl.tst2iut.qinq_vxlan4.ip4_frag_middle
    • tmpl.tst2iut.qinq_vxlan4.qinq
    • tmpl.tst2iut.qinq_vxlan4.tcp4
    • tmpl.tst2iut.qinq_vxlan4.udp4
    • tmpl.tst2iut.qinq_vxlan4.vlan
    • tmpl.tst2iut.qinq_vxlan6.arp4
    • tmpl.tst2iut.qinq_vxlan6.eth
    • tmpl.tst2iut.qinq_vxlan6.ip4_frag_first
    • tmpl.tst2iut.qinq_vxlan6.ip4_frag_last
    • tmpl.tst2iut.qinq_vxlan6.ip4_frag_middle
    • tmpl.tst2iut.qinq_vxlan6.qinq
    • tmpl.tst2iut.qinq_vxlan6.tcp4
    • tmpl.tst2iut.qinq_vxlan6.udp4
    • tmpl.tst2iut.qinq_vxlan6.vlan
    • tmpl.tst2iut.tcp4
    • tmpl.tst2iut.tcp6
    • tmpl.tst2iut.udp4
    • tmpl.tst2iut.udp6
    • tmpl.tst2iut.vlan.arp4
    • tmpl.tst2iut.vlan.eth
    • tmpl.tst2iut.vlan.ip4_frag_first
    • tmpl.tst2iut.vlan.ip4_frag_last
    • tmpl.tst2iut.vlan.ip4_frag_middle
    • tmpl.tst2iut.vlan.tcp4
    • tmpl.tst2iut.vlan.tcp6
    • tmpl.tst2iut.vlan.udp4
    • tmpl.tst2iut.vlan.udp6
    • tmpl.tst2iut.vlan_geneve4.arp4
    • tmpl.tst2iut.vlan_geneve4.eth
    • tmpl.tst2iut.vlan_geneve4.ip4_frag_first
    • tmpl.tst2iut.vlan_geneve4.ip4_frag_last
    • tmpl.tst2iut.vlan_geneve4.ip4_frag_middle
    • tmpl.tst2iut.vlan_geneve4.qinq
    • tmpl.tst2iut.vlan_geneve4.tcp4
    • tmpl.tst2iut.vlan_geneve4.udp4
    • tmpl.tst2iut.vlan_geneve4.vlan
    • tmpl.tst2iut.vlan_geneve6.arp4
    • tmpl.tst2iut.vlan_geneve6.eth
    • tmpl.tst2iut.vlan_geneve6.ip4_frag_first
    • tmpl.tst2iut.vlan_geneve6.ip4_frag_last
    • tmpl.tst2iut.vlan_geneve6.ip4_frag_middle
    • tmpl.tst2iut.vlan_geneve6.qinq
    • tmpl.tst2iut.vlan_geneve6.tcp4
    • tmpl.tst2iut.vlan_geneve6.udp4
    • tmpl.tst2iut.vlan_geneve6.vlan
    • tmpl.tst2iut.vlan_nvgre4.arp4
    • tmpl.tst2iut.vlan_nvgre4.eth
    • tmpl.tst2iut.vlan_nvgre4.ip4_frag_first
    • tmpl.tst2iut.vlan_nvgre4.ip4_frag_last
    • tmpl.tst2iut.vlan_nvgre4.ip4_frag_middle
    • tmpl.tst2iut.vlan_nvgre4.qinq
    • tmpl.tst2iut.vlan_nvgre4.tcp4
    • tmpl.tst2iut.vlan_nvgre4.udp4
    • tmpl.tst2iut.vlan_nvgre4.vlan
    • tmpl.tst2iut.vlan_nvgre6.arp4
    • tmpl.tst2iut.vlan_nvgre6.eth
    • tmpl.tst2iut.vlan_nvgre6.ip4_frag_first
    • tmpl.tst2iut.vlan_nvgre6.ip4_frag_last
    • tmpl.tst2iut.vlan_nvgre6.ip4_frag_middle
    • tmpl.tst2iut.vlan_nvgre6.qinq
    • tmpl.tst2iut.vlan_nvgre6.tcp4
    • tmpl.tst2iut.vlan_nvgre6.udp4
    • tmpl.tst2iut.vlan_nvgre6.vlan
    • tmpl.tst2iut.vlan_vxlan4.arp4
    • tmpl.tst2iut.vlan_vxlan4.eth
    • tmpl.tst2iut.vlan_vxlan4.ip4_frag_first
    • tmpl.tst2iut.vlan_vxlan4.ip4_frag_last
    • tmpl.tst2iut.vlan_vxlan4.ip4_frag_middle
    • tmpl.tst2iut.vlan_vxlan4.qinq
    • tmpl.tst2iut.vlan_vxlan4.tcp4
    • tmpl.tst2iut.vlan_vxlan4.udp4
    • tmpl.tst2iut.vlan_vxlan4.vlan
    • tmpl.tst2iut.vlan_vxlan6.arp4
    • tmpl.tst2iut.vlan_vxlan6.eth
    • tmpl.tst2iut.vlan_vxlan6.ip4_frag_first
    • tmpl.tst2iut.vlan_vxlan6.ip4_frag_last
    • tmpl.tst2iut.vlan_vxlan6.ip4_frag_middle
    • tmpl.tst2iut.vlan_vxlan6.qinq
    • tmpl.tst2iut.vlan_vxlan6.tcp4
    • tmpl.tst2iut.vlan_vxlan6.udp4
    • tmpl.tst2iut.vlan_vxlan6.vlan
    • tmpl.tst2iut.vxlan4.arp4
    • tmpl.tst2iut.vxlan4.eth
    • tmpl.tst2iut.vxlan4.ip4_frag_first
    • tmpl.tst2iut.vxlan4.ip4_frag_last
    • tmpl.tst2iut.vxlan4.ip4_frag_middle
    • tmpl.tst2iut.vxlan4.qinq
    • tmpl.tst2iut.vxlan4.tcp4
    • tmpl.tst2iut.vxlan4.udp4
    • tmpl.tst2iut.vxlan4.vlan
    • tmpl.tst2iut.vxlan6.arp4
    • tmpl.tst2iut.vxlan6.eth
    • tmpl.tst2iut.vxlan6.ip4_frag_first
    • tmpl.tst2iut.vxlan6.ip4_frag_last
    • tmpl.tst2iut.vxlan6.ip4_frag_middle
    • tmpl.tst2iut.vxlan6.qinq
    • tmpl.tst2iut.vxlan6.tcp4
    • tmpl.tst2iut.vxlan6.udp4
    • tmpl.tst2iut.vxlan6.vlan
    • tmpl.tst2mcast.eth
    • udp_tunnel_type.all
  • Internal details
    • Global Namespace
      • enum test_op_required
      • enum test_tmpl_fields
      • enum test_transceiver_type
        • Overview
        • Detailed Documentation
      • struct test_default_tmpl_prepare
        • Overview
        • Detailed Documentation
      • struct test_ethdev_config
        • Overview
        • Detailed Documentation
      • struct test_param_seg_ptrn
        • Overview
        • Detailed Documentation
      • struct test_pkt_addresses
        • Overview
        • Detailed Documentation
      • struct test_rx_mq
        • Overview
        • Detailed Documentation
      • struct test_rx_mq_rss
        • Overview
        • Detailed Documentation
      • struct test_transceiver
        • Overview
        • Detailed Documentation
      • struct test_transceiver_dpdk
        • Overview
        • Detailed Documentation
      • struct test_transceiver_exchange
        • Overview
        • Detailed Documentation
      • struct test_transceiver_net
        • Overview
        • Detailed Documentation
      • Overview
      • Detailed Documentation
        • Typedefs
        • Global Functions
        • Macros
DPDK EthDev Test Suite
  • DPDK PMD Tests Description
  • Reliability in Normal Use
  • Set new status of the Ethernet link flow
  • View page source

Set new status of the Ethernet link flow

control test

Set new status of the Ethernet link flow control for Ethernet device

Make sure that it is possible to set new status of the Ethernet link flow control

  1. Set flow control on the partner to 'autoneg=on, rx=on, tx=on'

  2. Initialize EAL, prepare ethdev_state Ethernet device state

  3. Get current flow control settings on port iut_port

  4. Set new flow control settings on port iut_port

  5. Await link renegotiation

  6. Get flow control settings

  7. Compare flow control settings with written ones

  8. If device is already started, stop it

  9. Start the device to check settings once again

  10. Get flow control settings once again

  11. Compare obtained flow control settings vs previously obtained

Parameters:

ethdev_state

The state of Ethernet device

fc_mode

The Flow Control mode of Ethernet device

fc_conf_elem

The Flow Control configuration element of Ethernet device to iterate

Previous Next

© Copyright (c) Copyright 2016 - 2022 Xilinx, Inc. All rights reserved..

Built with Sphinx using a theme provided by Read the Docs.