[NFVBENCH-74] packet payload length without vlan 43/53943/1
authorlouie.long <longyu805@163.com>
Fri, 16 Mar 2018 07:11:22 +0000 (15:11 +0800)
committerlouie.long <longyu805@163.com>
Fri, 16 Mar 2018 07:11:22 +0000 (15:11 +0800)
fix packet playload length without vlan tag, ensure that
the minimum packet size is 64 bytes with or without the vlan tag

Change-Id: Iabea46756905e3b16791436642cdca58ec8fed6f
Signed-off-by: louie.long <longyu805@163.com>
nfvbench/traffic_gen/trex.py

index e42afce..1e7c133 100644 (file)
@@ -136,13 +136,16 @@ class TRex(AbstractTrafficGenerator):
         return result
 
     def create_pkt(self, stream_cfg, l2frame_size):
-        # 46 = 14 (Ethernet II) + 4 (CRC Checksum) + 20 (IPv4) + 8 (UDP)
-        payload = 'x' * (max(64, int(l2frame_size)) - 46)
 
         pkt_base = Ether(src=stream_cfg['mac_src'], dst=stream_cfg['mac_dst'])
 
         if stream_cfg['vlan_tag'] is not None:
+            # 50 = 14 (Ethernet II) + 4 (Vlan tag) + 4 (CRC Checksum) + 20 (IPv4) + 8 (UDP)
             pkt_base /= Dot1Q(vlan=stream_cfg['vlan_tag'])
+            payload = 'x' * (max(64, int(l2frame_size)) - 50)
+        else:
+            # 46 = 14 (Ethernet II) + 4 (CRC Checksum) + 20 (IPv4) + 8 (UDP)
+            payload = 'x' * (max(64, int(l2frame_size)) - 46)
 
         udp_args = {}
         if stream_cfg['udp_src_port']: