Example #1
0
    def test_ip_ranges(self):
        # running on single core not implemented yet
        with self.assertRaises(Exception):
            test_stream = STLHltStream(split_by_cores = 'single',
                                       ip_src_addr = '192.168.1.1',
                                       ip_src_mode = 'increment',
                                       ip_src_count = 5,)
        # wrong type
        with self.assertRaises(Exception):
            test_stream = STLHltStream(split_by_cores = 12345,
                                       ip_src_addr = '192.168.1.1',
                                       ip_src_mode = 'increment',
                                       ip_src_count = 5,)

        test_stream = STLHltStream(split_by_cores = 'duplicate',
                                   ip_src_addr = '192.168.1.1',
                                   ip_src_mode = 'increment',
                                   ip_src_count = 5,
                                   ip_dst_addr = '5.5.5.5',
                                   ip_dst_count = 2,
                                   ip_dst_mode = 'random',
                                   name = 'test_ip_ranges',
                                   rate_pps = 1)
        self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
        self.golden_yaml = '''
Example #2
0
 def test_udp_ranges(self):
     # UDP is not set, expecting ignore of wrong UDP arguments
     STLHltStream(udp_src_port_mode = 'qwerqwer',
                  udp_src_port_count = 'weqwer',
                  udp_src_port = 'qwerqwer',
                  udp_dst_port_mode = 'qwerqwe',
                  udp_dst_port_count = 'sfgsdfg',
                  udp_dst_port = 'sdfgsdfg')
     # UDP is set, expecting fail due to wrong UDP arguments
     with self.assertRaises(Exception):
         STLHltStream(l4_protocol = 'udp',
                      udp_src_port_mode = 'qwerqwer',
                      udp_src_port_count = 'weqwer',
                      udp_src_port = 'qwerqwer',
                      udp_dst_port_mode = 'qwerqwe',
                      udp_dst_port_count = 'sfgsdfg',
                      udp_dst_port = 'sdfgsdfg')
     # generate it already with correct arguments
     test_stream = STLHltStream(l4_protocol = 'udp',
                                udp_src_port_mode = 'decrement',
                                udp_src_port_count = 10,
                                udp_src_port = 1234,
                                udp_dst_port_mode = 'increment',
                                udp_dst_port_count = 10,
                                udp_dst_port = 1234,
                                name = 'test_udp_ranges',
                                rate_percent = 20,)
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #3
0
 def test_pkt_len_by_l3length(self):
     test_stream = STLHltStream(l4_protocol = 'udp',
                                length_mode = 'random',
                                l3_length_min = 100,
                                l3_length_max = 400,
                                name = 'test_pkt_len_by_l3length')
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #4
0
 def test_ipv6_src_dst_ranges(self):
     test_stream = STLHltStream(name = 'test_ipv6_src_dst_ranges', l3_protocol = 'ipv6', l3_length = 150, l4_protocol = 'udp',
                                ipv6_src_addr = '1111:2222:3333:4444:5555:6666:7777:8888',
                                ipv6_dst_addr = '1111:1111:1111:1111:1111:1111:1111:1111',
                                ipv6_src_mode = 'increment', ipv6_src_step = 5, ipv6_src_count = 10,
                                ipv6_dst_mode = 'decrement', ipv6_dst_step = '1111:1111:1111:1111:1111:1111:0000:0011', ipv6_dst_count = 150,
                                )
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
 def test_tcp_ranges(self):
     test_stream = STLHltStream(tcp_src_port_mode = 'decrement',
                                tcp_src_port_count = 10,
                                tcp_dst_port_mode = 'random',
                                tcp_dst_port_count = 10,
                                tcp_dst_port = 1234,
                                name = 'stream-0')
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #6
0
 def test_tcp_ranges(self):
     test_stream = STLHltStream(tcp_src_port_mode = 'decrement',
                                tcp_src_port_count = 10,
                                tcp_dst_port_mode = 'random',
                                tcp_dst_port_count = 10,
                                tcp_dst_port = 1234,
                                name = 'test_tcp_ranges',
                                rate_pps = '2')
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
 def test_ip_ranges(self):
     test_stream = STLHltStream(ip_src_addr = '192.168.1.1',
                                ip_src_mode = 'increment',
                                ip_src_count = 5,
                                ip_dst_addr = '5.5.5.5',
                                ip_dst_count = 2,
                                ip_dst_mode = 'random',
                                name = 'stream-0')
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #8
0
 def test_vlan_vm(self):
     test_stream = STLHltStream(name = 'test_vlan_vm', frame_size = 100,
                                vlan_id = '1 2 1000 4 5',                          # 5 vlans
                                vlan_id_mode = 'increment fixed decrement random', # 5th vlan will be default fixed
                                vlan_id_step = 2,                                  # 1st vlan step will be 2, others - default 1
                                vlan_id_count = [4, 1, 10],                        # 4th independent on count, 5th will be fixed
                                )
     pkt_layers = test_stream.get_pkt_type()
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     assert '802.1Q:' * 5 in pkt_layers, 'No five dot1q layers in packet: %s' % pkt_layers
     self.golden_yaml = '''
Example #9
0
 def test_vlan_multiple(self):
     # default frame size should be not enough
     with self.assertRaises(Exception):
         STLHltStream(vlan_id = [1, 2, 3, 4])
     test_stream = STLHltStream(name = 'test_vlan_multiple', frame_size = 100,
                                vlan_id = [1, 2, 3, 4], # can be either array or string separated by spaces
                                vlan_protocol_tag_id = '8100 0x8100')
     pkt_layers = test_stream.get_pkt_type()
     assert '802.1Q:' * 4 in pkt_layers, 'No four dot1q layers in packet: %s' % pkt_layers
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #10
0
    def test_vlan_basic(self):
        with self.assertRaises(Exception):
            STLHltStream(l2_encap = 'ethernet_ii',
                         vlan_id = 'sdfgsdgf')
        test_stream = STLHltStream(l2_encap = 'ethernet_ii')
        assert ':802.1Q:' not in test_stream.get_pkt_type(), 'Default packet should not include dot1q'

        test_stream = STLHltStream(name = 'test_vlan_basic', l2_encap = 'ethernet_ii_vlan')
        assert ':802.1Q:' in test_stream.get_pkt_type(), 'No dot1q in packet with encap ethernet_ii_vlan'
        self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
        self.golden_yaml = '''
Example #11
0
 def test_ipv6_basic(self):
     # default frame size should be not enough
     with self.assertRaises(Exception):
         STLHltStream(l3_protocol = 'ipv6')
     # error should not affect
     STLHltStream(ipv6_src_addr = 'asdfasdfasgasdf')
     # error should affect
     with self.assertRaises(Exception):
         STLHltStream(l3_protocol = 'ipv6', ipv6_src_addr = 'asdfasdfasgasdf')
     test_stream = STLHltStream(name = 'test_ipv6_basic', l3_protocol = 'ipv6', length_mode = 'fixed', l3_length = 150, )
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #12
0
 def test_pkt_len_by_framesize(self):
     # just check errors, no compare to golden
     STLHltStream(length_mode = 'increment',
                  frame_size_min = 100,
                  frame_size_max = 3000)
     test_stream = STLHltStream(length_mode = 'decrement',
                                frame_size_min = 100,
                                frame_size_max = 3000,
                                name = 'test_pkt_len_by_framesize',
                                rate_bps = 1000)
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #13
0
 def test_hlt_basic(self):
     STLHltStream(mac_src = 'a0:00:01:::01', mac_dst = '0d 00 01 00 00 01',
                  mac_src2 = '{00 b0 01 00 00 01}', mac_dst2 = 'd0.00.01.00.00.01')
     with self.assertRaises(Exception):
         STLHltStream(mac_src2 = '00:00:00:00:00:0k')
     with self.assertRaises(Exception):
         STLHltStream(mac_dst2 = '100:00:00:00:00:00')
     # wrong encap
     with self.assertRaises(Exception):
         STLHltStream(l2_encap = 'ethernet_sdfgsdfg')
     # all default values
     test_stream = STLHltStream()
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
 def test_pkt_len_by_l3length(self):
     # l3_length_step should be 1
     with self.assertRaises(Exception):
         STLHltStream(l4_protocol = 'udp',
                      length_mode = 'random',
                      l3_length_min = 100,
                      l3_length_max = 400,
                      l3_length_step = 20)
     test_stream = STLHltStream(l4_protocol = 'udp',
                                length_mode = 'random',
                                l3_length_min = 100,
                                l3_length_max = 400,
                                name = 'stream-0')
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
 def test_pkt_len_by_framesize(self):
     # frame_size_step should be 1 (as default)
     with self.assertRaises(Exception):
         test_stream = STLHltStream(length_mode = 'decrement',
                                    frame_size_min = 100,
                                    frame_size_max = 3000,
                                    frame_size_step = 20)
     # just check errors, no compare to golden
     STLHltStream(length_mode = 'increment',
                  frame_size_min = 100,
                  frame_size_max = 3000)
     test_stream = STLHltStream(length_mode = 'decrement',
                                frame_size_min = 100,
                                frame_size_max = 3000,
                                name = 'stream-0')
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''
Example #16
0
 def test_macs_vm(self):
     test_stream = STLHltStream(name = 'stream-0', )
     self.test_yaml = test_stream.dump_to_yaml(self.yaml_save_location())
     self.golden_yaml = '''