From 2a3171f73e838fccbc82d2d8553e36c7c3820e28 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Fri, 4 Mar 2016 17:10:33 +0200 Subject: [PATCH] add manual padding to 60 bytes with zeros --- .../stl/trex_stl_lib/trex_stl_packet_builder_scapy.py | 14 ++++++-------- .../stl/trex_stl_lib/trex_stl_streams.py | 2 -- scripts/exp/pcap.pcap | Bin 476 -> 476 bytes scripts/exp/pcap_with_vm.pcap | Bin 2284 -> 2284 bytes scripts/exp/syn_attack.pcap | Bin 3824 -> 3824 bytes scripts/exp/udp_1pkt_range_clients_split_garp.pcap | Bin 3824 -> 3824 bytes 6 files changed, 6 insertions(+), 10 deletions(-) diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py index a3430c79..6a2e268f 100644 --- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py +++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py @@ -950,20 +950,18 @@ class CScapyTRexPktBuilder(CTrexPktBuilderInterface): # for buffer, promote to a scapy packet if self.pkt_raw: self.pkt = Ether(self.pkt_raw) - if self.remove_fcs and self.pkt.lastlayer().name == 'Padding': - self.pkt.lastlayer().underlayer.remove_payload() - self.pkt.build() self.pkt_raw = None # regular scapy packet - elif self.pkt: - self.pkt.build() - - else: + elif not self.pkt: # should not reach here raise CTRexPacketBuildException(-11, 'empty packet') - + if self.remove_fcs and self.pkt.lastlayer().name == 'Padding': + self.pkt.lastlayer().underlayer.remove_payload() + if len(self.pkt) < 60: # simulator can write padding with non-zeros, set it explicit + self.pkt /= Padding('\x00' * (60 - len(self.pkt))) + self.pkt.build() self.is_pkt_built = True def _pkt_layer_offset (self,layer_name): diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py index c41fa0c2..5aa544ab 100644 --- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py +++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py @@ -344,8 +344,6 @@ class STLStream(object): imports_arr = [] if 'MPLS(' in packet_command: imports_arr.append('from scapy.contrib.mpls import MPLS') - if 'VXLAN(' in packet_command: - imports_arr.append('from scapy.contrib.mpls import MPLS') imports = '\n'.join(imports_arr) if payload: diff --git a/scripts/exp/pcap.pcap b/scripts/exp/pcap.pcap index 34a2e9b6892e87b44e48b82a44f1b23b78e6df84..b13275eeeb786d432e846596484d0af0556c8fa8 100644 GIT binary patch delta 18 Xcmcb^e200$Iwl5&i5omXWMo$=U;u)E$&73&ljkzYGbV1{%LEs00t+XyfP@=a mDj9(~C;wsf;7kPR0fK##85vbJ7qa<+We%_d4V}!%@fZLS>l_XM diff --git a/scripts/exp/syn_attack.pcap b/scripts/exp/syn_attack.pcap index aa420d2c3d1cb582044b50fa36f16b8fb615b2d9..84da36a730bcef541eac5ebf17ba43a17066d28f 100644 GIT binary patch delta 472 zcmXBRze>YE0LSrMlFMEGTvRM5Xi18N22||e>L9pfQE(O72M`o|00mc}@n%86wL`&G z&<79{Tpa`-AU=TL{rbxg`11SYhD+ORyOWXdnsM!3(^`7&37Xl!_C-055OF3-;n_ww zWWNNJ!f@47-~DA z+Q9IbQ1uaQ0=1MvoupI)44)}gWyfh{ds*SYeg<}vk!{)!Rat3@`Q>lnqeFw!&JEbJ VA=|;QoAb0G;xdPN$mYE0LSrMlFMEGTvRM5Xi18N2DI40)j@E}qTnht4pq-N{%~byc>L5k|)NufHA5g7f=qRdn#8^RHE2uX`wSnPKQ*9z98fvbg{xnsF;WDJk5icRscL+6% zsJ1XnBdR{4iJ(?usMDBgfZ;QyDr^-OwwGirI7q;56S8glp$aQaws`ye9$w5cXpLxBT15YO*ZSFc5y5#jTF1+HxXWX+J XIo7Ls@PP+Ea8(NTCU=?gC4Tk`?4wZI delta 373 zcmew$`$2X>0%PLDL~kIm7DW8?W=&)Og2|37Qj?Pzbr};UPhyHJL!{QZRWC zO!6{=L?XfDQZV@uOxm)5#5-9a<}prw$S5`WGYiN(MOKhZE|}cO3Xx};%*ZJ~mvccp*?g?fG$v3itxKV2I zW=@dwLr##iE*FTbV!Z -- 2.16.6