From 06dbed66bb0302f0a4c11fe5b7e65ee323498d55 Mon Sep 17 00:00:00 2001 From: Hanoh Haim Date: Thu, 11 Feb 2016 18:06:29 +0200 Subject: support split by var --- .../stl/trex_stl_lib/trex_stl_packet_builder_scapy.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py') 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 0b90d3e1..f1462ede 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 @@ -153,12 +153,14 @@ class CTRexScTrimPacketSize(CTRexScriptsBase): if min_pkt_size > max_pkt_size: raise CTRexPacketBuildException(-11, 'CTRexScTrimPacketSize min_pkt_size is bigger than max_pkt_size '); + class CTRexScRaw(CTRexScriptsBase): """ raw instructions """ - def __init__(self,list_of_commands=None): + def __init__(self,list_of_commands=None,split_by_field=None): super(CTRexScRaw, self).__init__() + self.split_by_field = split_by_field if list_of_commands==None: self.commands =[] else: @@ -819,6 +821,14 @@ class CScapyTRexPktBuilder(CTrexPktBuilderInterface): for desc in obj.commands: self.vm_low_level.add_ins(desc.get_obj()); + # set split_by_var + if obj.split_by_field : + assert type(obj.split_by_field)==str, "type of split by var should be string" + #if not vars.has_key(obj.split_by_field): + # raise CTRexPacketBuildException(-11,("variable %s does not exists. change split_by_var args ") % (var_name) ); + + self.vm_low_level.split_by_var = obj.split_by_field + def _pkt_layer_offset (self,layer_name): assert self.pkt != None, 'empty packet' -- cgit 1.2.3-korg