common:
  platform_allow:
    - native_sim
    - native_sim/native/64
  integration_platforms:
    - native_sim/native/64
  tags:
    - net
    - traffic_class
tests:
  net.traffic_class.1:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=1
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.2:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=2
      - CONFIG_NET_TC_RX_COUNT=2
  net.traffic_class.3:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=3
      - CONFIG_NET_TC_RX_COUNT=3
  net.traffic_class.4:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=4
      - CONFIG_NET_TC_RX_COUNT=4
  net.traffic_class.5:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=5
      - CONFIG_NET_TC_RX_COUNT=5
  net.traffic_class.6:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=6
      - CONFIG_NET_TC_RX_COUNT=6
  net.traffic_class.7:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=7
      - CONFIG_NET_TC_RX_COUNT=7
  net.traffic_class.8:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=8
      - CONFIG_NET_TC_RX_COUNT=8
  # TX multi queue, RX one queue
  net.traffic_class.2_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=2
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.3_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=3
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.4_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=4
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.5_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=5
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.6_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=6
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.7_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=7
      - CONFIG_NET_TC_RX_COUNT=1
  net.traffic_class.8_no_rx:
    extra_configs:
      - CONFIG_NET_TC_TX_COUNT=8
      - CONFIG_NET_TC_RX_COUNT=1
  # TX one queue, RX multi queue
  net.traffic_class.2_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=2
      - CONFIG_NET_TC_TX_COUNT=1
  net.traffic_class.3_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=3
      - CONFIG_NET_TC_TX_COUNT=1
  net.traffic_class.4_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=4
      - CONFIG_NET_TC_TX_COUNT=1
  net.traffic_class.5_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=1
  net.traffic_class.6_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=6
      - CONFIG_NET_TC_TX_COUNT=1
  net.traffic_class.7_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=7
      - CONFIG_NET_TC_TX_COUNT=1
  net.traffic_class.8_no_tx:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=8
      - CONFIG_NET_TC_TX_COUNT=1
  # Then test some hybrid combinations.
  net.traffic_class.tx_2_rx_3:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=3
      - CONFIG_NET_TC_TX_COUNT=2
  net.traffic_class.tx_3_rx_8:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=8
      - CONFIG_NET_TC_TX_COUNT=3
  net.traffic_class.rx_4_tx_8:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=4
      - CONFIG_NET_TC_TX_COUNT=8
  net.traffic_class.rx_5_tx_7:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=7
  net.traffic_class.tx_6_rx_2:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=2
      - CONFIG_NET_TC_TX_COUNT=6
  net.traffic_class.tx_7_rx_5:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=7
  net.traffic_class.tx_8_rx_7:
    extra_configs:
      - CONFIG_NET_TC_RX_COUNT=7
      - CONFIG_NET_TC_TX_COUNT=8
  net.traffic_class.2_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=2
      - CONFIG_NET_TC_RX_COUNT=2
  net.traffic_class.3_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=3
      - CONFIG_NET_TC_RX_COUNT=3
  net.traffic_class.4_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=4
      - CONFIG_NET_TC_RX_COUNT=4
  net.traffic_class.5_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=5
      - CONFIG_NET_TC_RX_COUNT=5
  net.traffic_class.6_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=6
      - CONFIG_NET_TC_RX_COUNT=6
  net.traffic_class.7_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=7
      - CONFIG_NET_TC_RX_COUNT=7
  net.traffic_class.8_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_TX_COUNT=8
      - CONFIG_NET_TC_RX_COUNT=8
  net.traffic_class.tx_2_rx_3_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=3
      - CONFIG_NET_TC_TX_COUNT=2
  net.traffic_class.tx_3_rx_8_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=8
      - CONFIG_NET_TC_TX_COUNT=3
  net.traffic_class.rx_4_tx_8_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=4
      - CONFIG_NET_TC_TX_COUNT=8
  net.traffic_class.rx_5_tx_7_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=7
  net.traffic_class.tx_6_rx_2_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=2
      - CONFIG_NET_TC_TX_COUNT=6
  net.traffic_class.tx_7_rx_5_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=7
  net.traffic_class.tx_8_rx_7_sr_ab:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_A_AND_B=y
      - CONFIG_NET_TC_RX_COUNT=7
      - CONFIG_NET_TC_TX_COUNT=8
  net.traffic_class.2_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=2
      - CONFIG_NET_TC_RX_COUNT=2
  net.traffic_class.3_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=3
      - CONFIG_NET_TC_RX_COUNT=3
  net.traffic_class.4_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=4
      - CONFIG_NET_TC_RX_COUNT=4
  net.traffic_class.5_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=5
      - CONFIG_NET_TC_RX_COUNT=5
  net.traffic_class.6_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=6
      - CONFIG_NET_TC_RX_COUNT=6
  net.traffic_class.7_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=7
      - CONFIG_NET_TC_RX_COUNT=7
  net.traffic_class.8_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_TX_COUNT=8
      - CONFIG_NET_TC_RX_COUNT=8
  net.traffic_class.tx_2_rx_3_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=3
      - CONFIG_NET_TC_TX_COUNT=2
  net.traffic_class.tx_3_rx_8_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=8
      - CONFIG_NET_TC_TX_COUNT=3
  net.traffic_class.rx_4_tx_8_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=4
      - CONFIG_NET_TC_TX_COUNT=8
  net.traffic_class.rx_5_tx_7_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=7
  net.traffic_class.tx_6_rx_2_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=2
      - CONFIG_NET_TC_TX_COUNT=6
  net.traffic_class.tx_7_rx_5_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=5
      - CONFIG_NET_TC_TX_COUNT=7
  net.traffic_class.tx_8_rx_7_sr_b:
    extra_configs:
      - CONFIG_NET_TC_MAPPING_SR_CLASS_B_ONLY=y
      - CONFIG_NET_TC_RX_COUNT=7
      - CONFIG_NET_TC_TX_COUNT=8
