p1 = 'p'+str(idx), p2 = 'p'+str(idx+1) ) )
# config global arp to interfaces net address and vrf
- if dual_if.client_if.get_dest_mac():
+ if dual_if.client_if.get_ipv6_dest_mac():
conf_t_command_set.append('{mode}ipv6 neighbor {next_hop} {intf} {dest_mac}'.format(
mode = unconfig_str,
next_hop = server_net_next_hop,
intf = dual_if.client_if.get_name(),
- dest_mac = dual_if.client_if.get_dest_mac()))
- if dual_if.server_if.get_dest_mac():
+ dest_mac = dual_if.client_if.get_ipv6_dest_mac()))
+ if dual_if.server_if.get_ipv6_dest_mac():
conf_t_command_set.append('{mode}ipv6 neighbor {next_hop} {intf} {dest_mac}'.format(
mode = unconfig_str,
next_hop = client_net_next_hop,
intf = dual_if.server_if.get_name(),
- dest_mac = dual_if.server_if.get_dest_mac()))
+ dest_mac = dual_if.server_if.get_ipv6_dest_mac()))
conf_t_command_set.append('{mode}route-map {pre}_{p1}_to_{p2} permit 10'.format(
mode = unconfig_str,
class CIfObj(object):
_obj_id = 0
- def __init__(self, if_name, ipv4_addr, ipv6_addr, src_mac_addr, dest_mac_addr, if_type):
+ def __init__(self, if_name, ipv4_addr, ipv6_addr, src_mac_addr, dest_mac_addr, dest_ipv6_mac_addr, if_type):
self.__get_and_increment_id()
self.if_name = if_name
self.if_type = if_type
self.src_mac_addr = src_mac_addr
self.dest_mac_addr = dest_mac_addr
+ self.dest_ipv6_mac_addr = dest_ipv6_mac_addr
self.ipv4_addr = ipv4_addr
self.ipv6_addr = ipv6_addr
self.pair_parent = None # a pointer to CDualIfObj which holds this interface and its pair-complement
def get_dest_mac (self):
return self.dest_mac_addr
+ def get_ipv6_dest_mac (self):
+ if self.dest_mac_addr != 0:
+ return self.dest_mac_addr
+ else:
+ return self.dest_ipv6_mac_addr
+
def get_id (self):
return self._obj_id
client_dest_mac = intf_pair['client']['dest_mac_addr']
else:
client_dest_mac = 0
+ if 'dest_ipv6_mac_addr' in intf_pair['client']:
+ client_dest_ipv6_mac = intf_pair['client']['dest_ipv6_mac_addr']
+ else:
+ client_dest_ipv6_mac = 0
client_obj = CIfObj(if_name = intf_pair['client']['name'],
ipv4_addr = tmp_ipv4_addr,
ipv6_addr = tmp_ipv6_addr,
src_mac_addr = intf_pair['client']['src_mac_addr'],
dest_mac_addr = client_dest_mac,
+ dest_ipv6_mac_addr = client_dest_ipv6_mac,
if_type = IFType.Client)
# generate network addresses for server side, and initialize server if object
server_dest_mac = intf_pair['server']['dest_mac_addr']
else:
server_dest_mac = 0
+ if 'dest_ipv6_mac_addr' in intf_pair['server']:
+ server_dest_ipv6_mac = intf_pair['server']['dest_ipv6_mac_addr']
+ else:
+ server_dest_ipv6_mac = 0
server_obj = CIfObj(if_name = intf_pair['server']['name'],
ipv4_addr = tmp_ipv4_addr,
ipv6_addr = tmp_ipv6_addr,
src_mac_addr = intf_pair['server']['src_mac_addr'],
dest_mac_addr = server_dest_mac,
+ dest_ipv6_mac_addr = server_dest_ipv6_mac,
if_type = IFType.Server)
dual_intf_obj = CDualIfObj(vrf_name = intf_pair['vrf_name'],
- client :
name : GigabitEthernet0/0/1
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
server :
name : GigabitEthernet0/0/2
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
vrf_name : null
tftp:
- client :
name : GigabitEthernet0/1/0
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
server :
name : GigabitEthernet0/1/1
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
vrf_name :
- client :
name : GigabitEthernet0/1/2
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
server :
name : GigabitEthernet0/1/4
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
vrf_name :
- client :
name : GigabitEthernet0/1/5
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
server :
name : GigabitEthernet0/1/3
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
vrf_name :
- client :
name : GigabitEthernet0/1/6
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
server :
name : GigabitEthernet0/1/7
src_mac_addr : 0000.0001.0000
-# dest_mac_addr : 0000.0001.0000
+ dest_ipv6_mac_addr : 0000.0001.0000
vrf_name :
tftp:
core = self.get_benchmark_param('cores')
ret = self.trex.start_trex(
+ cfg = '/etc/trex_cfg_mac.yaml',
c = core,
m = mult,
p = True,
core = self.get_benchmark_param('cores', test_name = 'test_ipv6_simple')
ret = self.trex.start_trex(
+ cfg = '/etc/trex_cfg_mac.yaml',
c = core,
m = mult,
p = True,
sample_rate = self.get_benchmark_param('rx_sample_rate')
ret = self.trex.start_trex(
+ cfg = '/etc/trex_cfg_mac.yaml',
c = core,
m = mult,
p = True,
sample_rate = self.get_benchmark_param('rx_sample_rate')
ret = self.trex.start_trex(
+ cfg = '/etc/trex_cfg_mac.yaml',
c = core,
m = mult,
p = True,