if mode == 'config':
conf_t_command_set.append('set ip next-hop {next_hop}'.format(
next_hop = server_net_next_hop) )
+ conf_t_command_set.append('exit')
# config global arp to interfaces net address and vrf
- conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- dup = dual_if.get_vrf_name(),
- next_hop = server_net_next_hop,
- dest_mac = dual_if.client_if.get_dest_mac()))
- conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- dup = dual_if.get_vrf_name(),
- next_hop = client_net_next_hop,
- dest_mac = dual_if.server_if.get_dest_mac()))
+ if dual_if.client_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ dup = dual_if.get_vrf_name(),
+ next_hop = server_net_next_hop,
+ dest_mac = dual_if.client_if.get_dest_mac()))
+ if dual_if.server_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ dup = dual_if.get_vrf_name(),
+ next_hop = client_net_next_hop,
+ dest_mac = dual_if.server_if.get_dest_mac()))
else:
# config interfaces with relevant route-map
client_if_command_set.append ('{mode}ip policy route-map {p1}_to_{p2}'.format(
if mode == 'config':
conf_t_command_set.append('set ip next-hop {next_hop}'.format(
next_hop = server_net_next_hop) )
+ conf_t_command_set.append('exit')
# config global arp to interfaces net address
- conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- next_hop = server_net_next_hop,
- dest_mac = dual_if.client_if.get_dest_mac()))
- conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- next_hop = client_net_next_hop,
- dest_mac = dual_if.server_if.get_dest_mac()))
+ if dual_if.client_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ next_hop = server_net_next_hop,
+ dest_mac = dual_if.client_if.get_dest_mac()))
+ if dual_if.server_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ next_hop = client_net_next_hop,
+ dest_mac = dual_if.server_if.get_dest_mac()))
# assign generated config list to cache
cache.add('IF', server_if_command_set, dual_if.server_if.get_name())
next_hop = server_net_next_hop))
# config global arp to interfaces net address and vrf
- conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- dup = dual_if.get_vrf_name(),
- next_hop = server_net_next_hop,
- dest_mac = dual_if.client_if.get_dest_mac()))
- conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- dup = dual_if.get_vrf_name(),
- next_hop = client_net_next_hop,
- dest_mac = dual_if.server_if.get_dest_mac()))
+ if dual_if.client_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ dup = dual_if.get_vrf_name(),
+ next_hop = server_net_next_hop,
+ dest_mac = dual_if.client_if.get_dest_mac()))
+ if dual_if.server_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp vrf {dup} {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ dup = dual_if.get_vrf_name(),
+ next_hop = client_net_next_hop,
+ dest_mac = dual_if.server_if.get_dest_mac()))
# assign generated interfaces config list to cache
cache.add('IF', server_if_command_set, dual_if.server_if.get_name())
next_hop = client_net_next_hop))
# config global arp to interfaces net address
- conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- next_hop = server_net_next_hop,
- dest_mac = dual_if.client_if.get_dest_mac()))
- conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
- mode = unconfig_str,
- next_hop = client_net_next_hop,
- dest_mac = dual_if.server_if.get_dest_mac()))
+ if dual_if.client_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ next_hop = server_net_next_hop,
+ dest_mac = dual_if.client_if.get_dest_mac()))
+ if dual_if.server_if.get_dest_mac():
+ conf_t_command_set.append('{mode}arp {next_hop} {dest_mac} arpa'.format(
+ mode = unconfig_str,
+ next_hop = client_net_next_hop,
+ dest_mac = dual_if.server_if.get_dest_mac()))
# bump up to the next client network address
client_net = misc_methods.get_single_net_client_addr(client_net, stat_route_obj.net_increment)
p1 = 'p'+str(idx), p2 = 'p'+str(idx+1) ) )
# config global arp to interfaces net address and vrf
- conf_t_command_set.append('{mode}ipv6 neighbor {next_hop} {intf} {dest_mac}'.format(
+ if dual_if.client_if.get_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()))
- conf_t_command_set.append('{mode}ipv6 neighbor {next_hop} {intf} {dest_mac}'.format(
+ if dual_if.server_if.get_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(),
tmp_ipv4_addr = self.__get_ipv4_net_client_addr (next(CIfManager._ipv4_gen)[0])
tmp_ipv6_addr = self.__get_ipv6_net_client_addr (next(CIfManager._ipv6_gen))
+ if 'dest_mac_addr' in intf_pair['client']:
+ client_dest_mac = intf_pair['client']['dest_mac_addr']
+ else:
+ client_dest_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 = intf_pair['client']['dest_mac_addr'],
+ dest_mac_addr = client_dest_mac,
if_type = IFType.Client)
# generate network addresses for server side, and initialize server if object
tmp_ipv4_addr = self.__get_ipv4_net_client_addr (next(CIfManager._ipv4_gen)[0])
tmp_ipv6_addr = self.__get_ipv6_net_client_addr (next(CIfManager._ipv6_gen))
-
+
+ if 'dest_mac_addr' in intf_pair['server']:
+ server_dest_mac = intf_pair['server']['dest_mac_addr']
+ else:
+ server_dest_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 = intf_pair['server']['dest_mac_addr'],
+ dest_mac_addr = server_dest_mac,
if_type = IFType.Server)
dual_intf_obj = CDualIfObj(vrf_name = intf_pair['vrf_name'],