anchor.diff:  
   === Console commands 
   
  -=== Python API 
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  +=== Appendix
  +
  +
  +==== HLT supported Arguments 
  +
  +
  +[source,python]
  +----
  +
  +traffic_config_kwargs = {
  +    'mode': None,                           # ( create | modify | remove | reset )
  +    'split_by_cores': 'split',              # ( split | duplicate | single ) TRex extention: split = split traffic by cores, duplicate = duplicate traffic for all cores, single = run only with sinle core (not implemented yet)
  +    'consistent_random': False,             # TRex extention: False (default): random sequence will be different every run, True: random sequence will be same every run
  +    'port_handle': None,
  +    'port_handle2': None,
  +    # stream builder parameters
  +    'transmit_mode': 'continuous',          # ( continuous | multi_burst | single_burst )
  +    'rate_pps': None,
  +    'rate_bps': None,
  +    'rate_percent': 10,
  +    'stream_id': None,
  +    'name': None,
  +    'bidirectional': 0,
  +    'direction': 0,                         # ( 0 | 1 ) TRex extention: 1 = exchange sources and destinations
  +    'pkts_per_burst': 1,
  +    'burst_loop_count': 1,
  +    'inter_burst_gap': 12,
  +    'length_mode': 'fixed',                 # ( auto | fixed | increment | decrement | random | imix )
  +    'l3_imix1_size': 60,
  +    'l3_imix1_ratio': 28,
  +    'l3_imix2_size': 590,
  +    'l3_imix2_ratio': 20,
  +    'l3_imix3_size': 1514,
  +    'l3_imix3_ratio': 4,
  +    'l3_imix4_size': 9226,
  +    'l3_imix4_ratio': 0,
  +    #L2
  +    'frame_size': 64,
  +    'frame_size_min': 64,
  +    'frame_size_max': 64,
  +    'frame_size_step': 1,
  +    'l2_encap': 'ethernet_ii',              # ( ethernet_ii | ethernet_ii_vlan )
  +    'mac_src': '00:00:01:00:00:01',
  +    'mac_dst': '00:00:00:00:00:00',
  +    'mac_src2': '00:00:01:00:00:01',
  +    'mac_dst2': '00:00:00:00:00:00',
  +    'mac_src_mode': 'fixed',                # ( fixed | increment | decrement | random )
  +    'mac_src_step': 1,
  +    'mac_src_count': 1,
  +    'mac_dst_mode': 'fixed',                # ( fixed | increment | decrement | random )
  +    'mac_dst_step': 1,
  +    'mac_dst_count': 1,
  +    'mac_src2_mode': 'fixed',                # ( fixed | increment | decrement | random )
  +    'mac_src2_step': 1,
  +    'mac_src2_count': 1,
  +    'mac_dst2_mode': 'fixed',                # ( fixed | increment | decrement | random )
  +    'mac_dst2_step': 1,
  +    'mac_dst2_count': 1,
  +    # vlan options below can have multiple values for nested Dot1Q headers
  +    'vlan_user_priority': 1,
  +    'vlan_priority_mode': 'fixed',          # ( fixed | increment | decrement | random )
  +    'vlan_priority_count': 1,
  +    'vlan_priority_step': 1,
  +    'vlan_id': 0,
  +    'vlan_id_mode': 'fixed',                # ( fixed | increment | decrement | random )
  +    'vlan_id_count': 1,
  +    'vlan_id_step': 1,
  +    'vlan_cfi': 1,
  +    'vlan_protocol_tag_id': None,
  +    #L3, general
  +    'l3_protocol': None,                  # ( ipv4 | ipv6 )
  +    'l3_length_min': 110,
  +    'l3_length_max': 238,
  +    'l3_length_step': 1,
  +    #L3, IPv4
  +    'ip_precedence': 0,
  +    'ip_tos_field': 0,
  +    'ip_mbz': 0,
  +    'ip_delay': 0,
  +    'ip_throughput': 0,
  +    'ip_reliability': 0,
  +    'ip_cost': 0,
  +    'ip_reserved': 0,
  +    'ip_dscp': 0,
  +    'ip_cu': 0,
  +    'l3_length': None,
  +    'ip_id': 0,
  +    'ip_fragment_offset': 0,
  +    'ip_ttl': 64,
  +    'ip_checksum': None,
  +    'ip_src_addr': '0.0.0.0',
  +    'ip_dst_addr': '192.0.0.1',
  +    'ip_src_mode': 'fixed',                 # ( fixed | increment | decrement | random )
  +    'ip_src_step': 1,                       # ip or number
  +    'ip_src_count': 1,
  +    'ip_dst_mode': 'fixed',                 # ( fixed | increment | decrement | random )
  +    'ip_dst_step': 1,                       # ip or number
  +    'ip_dst_count': 1,
  +    #L3, IPv6
  +    'ipv6_traffic_class': 0,
  +    'ipv6_flow_label': 0,
  +    'ipv6_length': None,
  +    'ipv6_next_header': None,
  +    'ipv6_hop_limit': 64,
  +    'ipv6_src_addr': 'fe80:0:0:0:0:0:0:12',
  +    'ipv6_dst_addr': 'fe80:0:0:0:0:0:0:22',
  +    'ipv6_src_mode': 'fixed',               # ( fixed | increment | decrement | random )
  +    'ipv6_src_step': 1,                     # we are changing only 32 lowest bits; can be ipv6 or number
  +    'ipv6_src_count': 1,
  +    'ipv6_dst_mode': 'fixed',               # ( fixed | increment | decrement | random )
  +    'ipv6_dst_step': 1,                     # we are changing only 32 lowest bits; can be ipv6 or number
  +    'ipv6_dst_count': 1,
  +    #L4, TCP
  +    'l4_protocol': None,                   # ( tcp | udp )
  +    'tcp_src_port': 1024,
  +    'tcp_dst_port': 80,
  +    'tcp_seq_num': 1,
  +    'tcp_ack_num': 1,
  +    'tcp_data_offset': 5,
  +    'tcp_fin_flag': 0,
  +    'tcp_syn_flag': 0,
  +    'tcp_rst_flag': 0,
  +    'tcp_psh_flag': 0,
  +    'tcp_ack_flag': 0,
  +    'tcp_urg_flag': 0,
  +    'tcp_window': 4069,
  +    'tcp_checksum': None,
  +    'tcp_urgent_ptr': 0,
  +    'tcp_src_port_mode': 'increment',       # ( increment | decrement | random )
  +    'tcp_src_port_step': 1,
  +    'tcp_src_port_count': 1,
  +    'tcp_dst_port_mode': 'increment',       # ( increment | decrement | random )
  +    'tcp_dst_port_step': 1,
  +    'tcp_dst_port_count': 1,
  +    # L4, UDP
  +    'udp_src_port': 1024,
  +    'udp_dst_port': 80,
  +    'udp_length': None,
  +    'udp_dst_port_mode': 'increment',       # ( increment | decrement | random )
  +    'udp_src_port_step': 1,
  +    'udp_src_port_count': 1,
  +    'udp_src_port_mode': 'increment',       # ( increment | decrement | random )
  +    'udp_dst_port_step': 1,
  +    'udp_dst_port_count': 1,
  +}
  +
  +----
  +
  +
  +
  +
  +
  +
  +
  +
  +
  
positive.code: <3> Write stream tuple.port variable into the second UDP header 
  
  
  
  === Reference
  
  
negative.code: In this example MPLS label field will be changed.
  
  .MPLS header 
  [cols="32", halign="center",width="50%"] 
  |==== 
  20+<|Label 3+<|TC 1+<|S 8+<|TTL| 
  0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9|0|1|
  