Hi,

I am Bharati Bhole. I am a new member of DTS mailing list.
I have recently started working on DTS for my company and facing some issues/failures while running the DTS.
Please help me with understanding the test cases and expected behaviours.

I am trying to understand the DTS behaviour for following TCs:

1. JumboFrames : 
  1. When the test set the max_pkt_len for testpmd and calculate the expected acceptable packet size, does it consider NICs supporting 2 VLANS? (In case of MTU update test, I have seen that 2 VLANs NIC are being considered while calculating acceptable packets size but in JumboFrames I dont see it).

  2. In function jumboframes_send_packet() - 
    --<snip>--
    if received:
                if self.nic.startswith("fastlinq"):
                    self.verify(
                        self.pmdout.check_tx_bytes(tx_pkts, rx_pkts)
                        and (self.pmdout.check_tx_bytes(tx_bytes, pktsize))
                        and (rx_bytes == pktsize),
                        "packet pass assert error",
                    )
                else:
                    self.verify(
                        self.pmdout.check_tx_bytes(tx_pkts, rx_pkts)
                        and (self.pmdout.check_tx_bytes(tx_bytes + 4, pktsize))
                        and ((rx_bytes + 4) == pktsize),
                        "packet pass assert error",
                    )
            else:
                self.verify(rx_err == 1 or tx_pkts == 0, "packet drop assert error")
            return out
    --<snip>--
      Can someone please tell me why these tx_butes and rx_bytes calculations are different for Qlogic NICs and other NICs?


2. TestSuite_stats_checks.py : 
       The test, test_stats_checks is sending 2 packets of ETH/IP/RAW(30) and ETH/IP/RAW(1500). 
   
      In function send_packet_of_size_to_tx_port()  line no. 174 to 185
      --<snip>--

  if received:
            self.verify(tx_pkts_difference >= 1, "No packet was sent")
            self.verify(
                tx_pkts_difference == rx_pkts_difference,
                "different numbers of packets sent and received",
            )
            self.verify(
                tx_bytes_difference == rx_bytes_difference,
                "different number of bytes sent and received",
            )
            self.verify(tx_err_difference == 1, "unexpected tx error")
            self.verify(rx_err_difference == 0, "unexpected rx error")

      --<snip>-- 
 
      This test expects packets with payload size 30 to pass RX and TX which is working fine and for packet with payload size 1500, the test expecting RX and to pass and TX to fail?
      I did not get this part. The defailt MTU size is 1500. When scapy sends the packet with ETH+IP+1500 the packet size is 18+20+1500 = 1538. And even if the NIC supports 2 VLAN the max it can accept is MTU+ETH+CRC+2*VLAN = 1526
      So according the to my understanding the packets should be dropped and rx_error counter should increase and there should not be any increment in good/error packet for TX port. 

Can someone please tell what is the gap/missing part in my understanding?
    
  
Thanks,
Bharati Bhole.