FIX: Ipsec perf 12/23412/22
authorPeter Mikus <pmikus@cisco.com>
Wed, 13 Nov 2019 14:37:51 +0000 (14:37 +0000)
committerPeter Mikus <pmikus@cisco.com>
Thu, 14 Nov 2019 14:36:09 +0000 (14:36 +0000)
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I6e3ce086978c383303724d989702b1c1273c50c0

resources/libraries/python/IPsecUtil.py

index c109f41..4578b43 100644 (file)
@@ -821,10 +821,14 @@ class IPsecUtil(object):
                     'exec create loopback interface\n'
                     'exec set interface state loop0 up\n'
                     'exec set interface ip address {uifc} {iaddr}/{mask}\n'
+                    'exec set ip arp {uifc} {raddr}/32 {rmac} static\n'
                     .format(
                         iaddr=if2_ip - 1,
+                        raddr=if2_ip,
                         uifc=Topology.get_interface_name(
                             nodes['DUT1'], if1_key),
+                        rmac=Topology.get_interface_mac(
+                            nodes['DUT2'], if2_key),
                         mask=96 if if2_ip.version == 6 else 24))
                 tmp_f2.write(
                     'exec set interface ip address {uifc} {iaddr}/{mask}\n'
@@ -968,6 +972,21 @@ class IPsecUtil(object):
             err_msg = 'Failed to set IP address on interface {ifc} on host ' \
                       '{host}'.format(ifc=if1_key, host=nodes['DUT1']['host'])
             papi_exec.add(cmd1, **args1).get_reply(err_msg)
+            cmd4 = 'ip_neighbor_add_del'
+            args4 = dict(
+                is_add=1,
+                neighbor=dict(
+                    sw_if_index=Topology.get_interface_sw_index(
+                        nodes['DUT1'], if1_key),
+                    flags=1,
+                    mac_address=str(
+                        Topology.get_interface_mac(nodes['DUT2'], if2_key)),
+                    ip_address=str(ip_address(unicode(if2_ip_addr)))
+                )
+            )
+            err_msg = 'Failed to add IP neighbor on interface {ifc}'.format(
+                ifc=if1_key)
+            papi_exec.add(cmd4, **args4).get_reply(err_msg)
             # Configure IPsec tunnel interfaces
             args1 = dict(
                 sw_if_index=loop_sw_if_idx,