Change jumbo frames to adpat dpdk. Xie wei (2): tests/vf_jumboframe: change jumbo frames to adpat dpdk tests/kernelpf_iavf: change jumbo frames to adpat dpdk tests/TestSuite_kernelpf_iavf.py | 2 +- tests/TestSuite_vf_jumboframe.py | 19 +++---------------- 2 files changed, 4 insertions(+), 17 deletions(-) -- 2.17.1
a).According to dpdk commit e8326d3, fix Rx bytes statistics. After testing, found that: when send a packet which length is 1513 bytes. for i40e nic; the statistic from "show port stats 0" is: RX-bytes: 1513, but before that it show "RX-bytes: 1517". b).DPDK can receive max packet length is mtu + 14(IP_hearder_len) + 4(CRC) + 4(VLAN header len) + 4(VLAN header len). Signed-off-by: Xie wei <weix.xie@intel.com> --- tests/TestSuite_vf_jumboframe.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/tests/TestSuite_vf_jumboframe.py b/tests/TestSuite_vf_jumboframe.py index cb77cf31..3eb441f2 100644 --- a/tests/TestSuite_vf_jumboframe.py +++ b/tests/TestSuite_vf_jumboframe.py @@ -192,11 +192,6 @@ class TestVfJumboFrame(TestCase): else: return None - def check_vf_driver(self): - output = self.vm_testpmd.execute_cmd("show port info 0") - vf0_driver = re.findall("Driver\s*name:\s*(\w+)", output) - return vf0_driver[0] - def jumboframes_send_packet(self, pktsize, received=True): """ Send 1 packet to portid @@ -221,19 +216,11 @@ class TestVfJumboFrame(TestCase): rx_bytes -= rx_bytes_ori rx_err -= rx_err_ori - vf_driver = self.check_vf_driver() - if received: self.verify((rx_pkts == 1) and (tx_pkts == 1), "Packet forward assert error") - if self.kdriver == "ixgbe" or self.kdriver == 'ice': + if self.kdriver in ["ixgbe", "ice", "i40e"]: self.verify((rx_bytes + 4) == pktsize, "Rx packet size should be packet size - 4") - else: - if self.kdriver == "i40e": - if vf_driver == "net_iavf": - self.verify((rx_bytes + 4) == pktsize, "Rx packet size should be packet size - 4") - else: - self.verify(rx_bytes == pktsize, "Rx packet size should be equal to packet size") if self.kdriver == "igb": self.verify(tx_bytes == pktsize, "Tx packet size should be packet size") @@ -293,7 +280,7 @@ class TestVfJumboFrame(TestCase): self.vm_testpmd.execute_cmd("start") # On igb, for example i350, refer to :DPDK-1117 - # For PF, the max-pkt-len = mtu + 18 + 4(VLAN header len). + # For PF, the max-pkt-len = mtu + 14(IP_hearder_len) + 4(CRC) + 4(VLAN header len) + 4(VLAN header len). # For VF, the real max-pkt-len = the given max-pkt-len + 4(VLAN header len). # This behavior is leveraged from kernel driver. # And it means max-pkt-len is always 4 bytes longer than assumed. @@ -301,7 +288,7 @@ class TestVfJumboFrame(TestCase): if self.kdriver == "igb": self.jumboframes_send_packet(ETHER_STANDARD_MTU + 1 + 4, False) else: - self.jumboframes_send_packet(ETHER_STANDARD_MTU + 1, False) + self.jumboframes_send_packet(ETHER_STANDARD_MTU + 1 + 4 + 4, False) def test_vf_jumbo_withjumbo(self): """ -- 2.17.1
DPDK can receive max packet length: mtu + 14(IP_hearder_len) + 4(CRC) + 4(VLAN header len) + 4(VLAN header len) For example: MTU = max_pkg_len - 18 if max_pkg_len is 1518 and MTU is 1500, so DPDK can receive max packet length is 1526. Signed-off-by: Xie wei <weix.xie@intel.com> --- tests/TestSuite_kernelpf_iavf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/TestSuite_kernelpf_iavf.py b/tests/TestSuite_kernelpf_iavf.py index 1dcbc685..5db1ec00 100644 --- a/tests/TestSuite_kernelpf_iavf.py +++ b/tests/TestSuite_kernelpf_iavf.py @@ -586,7 +586,7 @@ class TestKernelpfIavf(TestCase): self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("start") self.jumboframes_send_packet(ETHER_STANDARD_MTU - 1, True) - self.jumboframes_send_packet(ETHER_STANDARD_MTU + 1, False) + self.jumboframes_send_packet(ETHER_STANDARD_MTU + 1 + 4 + 4, False) self.tester.send_expect("ifconfig %s mtu %s" % (self.tester_intf, ETHER_STANDARD_MTU), "#") def test_vf_with_jumboframe(self): -- 2.17.1
[-- Attachment #1: Type: text/plain, Size: 312 bytes --] Tested-by: Xie,WeiX < weix.xie@intel.com> Regards, Xie Wei > -----Original Message----- > From: Xie wei [mailto:weix.xie@intel.com] > Sent: Thursday, February 4, 2021 5:08 PM > To: dts@dpdk.org > Cc: Xie, WeiX <weix.xie@intel.com> > Subject: [dts][PATCH V1 0/2] change jumbo frames to adapt dpdk [-- Attachment #2: TestVfJumboFrame.log --] [-- Type: application/octet-stream, Size: 52405 bytes --] [-- Attachment #3: TestKernelpfIavf.log --] [-- Type: application/octet-stream, Size: 1533257 bytes --]
Acked-by: Haiyang Zhao <haiyangx.zhao@intel.com>
Best Regards,
Zhao Haiyang
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Xie, WeiX
> Sent: Thursday, February 4, 2021 17:14
> To: dts@dpdk.org
> Subject: Re: [dts] [PATCH V1 0/2] change jumbo frames to adpat dpdk
>
> Tested-by: Xie,WeiX < weix.xie@intel.com>
>
> Regards,
> Xie Wei
>
>
> > -----Original Message-----
> > From: Xie wei [mailto:weix.xie@intel.com]
> > Sent: Thursday, February 4, 2021 5:08 PM
> > To: dts@dpdk.org
> > Cc: Xie, WeiX <weix.xie@intel.com>
> > Subject: [dts][PATCH V1 0/2] change jumbo frames to adapt dpdk
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Zhao, HaiyangX
> Sent: 2021年2月5日 9:55
> To: Xie, WeiX <weix.xie@intel.com>; dts@dpdk.org
> Subject: Re: [dts] [PATCH V1 0/2] change jumbo frames to adpat dpdk
>
> Acked-by: Haiyang Zhao <haiyangx.zhao@intel.com>
>
> Best Regards,
> Zhao Haiyang
>
> > -----Original Message-----
> > From: dts <dts-bounces@dpdk.org> On Behalf Of Xie, WeiX
> > Sent: Thursday, February 4, 2021 17:14
> > To: dts@dpdk.org
> > Subject: Re: [dts] [PATCH V1 0/2] change jumbo frames to adpat dpdk
> >
> > Tested-by: Xie,WeiX < weix.xie@intel.com>
> >
> > Regards,
> > Xie Wei
> >
> >
> > > -----Original Message-----
> > > From: Xie wei [mailto:weix.xie@intel.com]
> > > Sent: Thursday, February 4, 2021 5:08 PM
> > > To: dts@dpdk.org
> > > Cc: Xie, WeiX <weix.xie@intel.com>
> > > Subject: [dts][PATCH V1 0/2] change jumbo frames to adapt dpdk
Applied, thanks