aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/python/LispSetup.py59
-rw-r--r--resources/libraries/python/LispUtil.py2
-rw-r--r--resources/libraries/robot/lisp/lisp_static_adjacency.robot (renamed from resources/libraries/robot/lisp/lisp_static_mapping.robot)53
-rw-r--r--resources/templates/vat/lisp/add_lisp_adjacency.vat1
-rw-r--r--resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py (renamed from resources/test_data/lisp/static_mapping/lisp_static_mapping.py)80
-rw-r--r--tests/func/lisp/lisp_dataplane_untagged.robot29
6 files changed, 149 insertions, 75 deletions
diff --git a/resources/libraries/python/LispSetup.py b/resources/libraries/python/LispSetup.py
index 82e1a9787a..13d0501abb 100644
--- a/resources/libraries/python/LispSetup.py
+++ b/resources/libraries/python/LispSetup.py
@@ -103,6 +103,65 @@ class LispRemoteMapping(object):
seid=seid,
seid_prefix=seid_prefix,
rloc=rloc)
+class LispAdjacency(object):
+ """Class for lisp adjacency API."""
+
+ def __init__(self):
+ pass
+
+ @staticmethod
+ def vpp_add_lisp_adjacency(node, vni, deid, deid_prefix, seid,
+ seid_prefix):
+ """Add lisp adjacency on the VPP node in topology.
+
+ :param node: VPP node.
+ :param vni: Vni.
+ :param deid: Destination eid address.
+ :param deid_predix: Destination eid address prefix_len.
+ :param seid: Source eid address.
+ :param seid_prefix: Source eid address prefix_len.
+ :type node: dict
+ :type vni: int
+ :type deid: str
+ :type deid_prefix: int
+ :type seid: str
+ :type seid_prefix: int
+ """
+
+ VatExecutor.cmd_from_template(node,
+ 'lisp/add_lisp_adjacency.vat',
+ vni=vni,
+ deid=deid,
+ deid_prefix=deid_prefix,
+ seid=seid,
+ seid_prefix=seid_prefix)
+
+ @staticmethod
+ def vpp_del_lisp_adjacency(node, vni, deid, deid_prefix, seid,
+ seid_prefix):
+ """Delete lisp adjacency on the VPP node in topology.
+
+ :param node: VPP node.
+ :param vni: Vni.
+ :param deid: Destination eid address.
+ :param deid_predix: Destination eid address prefix_len.
+ :param seid: Source eid address.
+ :param seid_prefix: Source eid address prefix_len.
+ :type node: dict
+ :type vni: int
+ :type deid: str
+ :type deid_prefix: int
+ :type seid: str
+ :type seid_prefix: int
+ """
+
+ VatExecutor.cmd_from_template(node,
+ 'lisp/del_lisp_adjacency.vat',
+ vni=vni,
+ deid=deid,
+ deid_predix=deid_prefix,
+ seid=seid,
+ seid_prefix=seid_prefix)
class LispGpeIface(object):
diff --git a/resources/libraries/python/LispUtil.py b/resources/libraries/python/LispUtil.py
index b21e1ae511..157702ade0 100644
--- a/resources/libraries/python/LispUtil.py
+++ b/resources/libraries/python/LispUtil.py
@@ -101,7 +101,7 @@ class LispUtil(object):
for tmp in lisp_val1:
if tmp not in lisp_val2:
- raise RuntimeError('Value {} is not find in vpp:\n'
+ raise RuntimeError('Value {} not found in vpp:\n'
'{}'.format(tmp, lisp_val2))
def lisp_locator_s_should_be_equal(self, locator_set1, locator_set2):
diff --git a/resources/libraries/robot/lisp/lisp_static_mapping.robot b/resources/libraries/robot/lisp/lisp_static_adjacency.robot
index 3c0668831d..79e26c5dc9 100644
--- a/resources/libraries/robot/lisp/lisp_static_mapping.robot
+++ b/resources/libraries/robot/lisp/lisp_static_adjacency.robot
@@ -12,16 +12,17 @@
# limitations under the License.
*** Settings ***
-| Documentation | Lisp State mapping suite keywords
+| Documentation | Lisp static adjacency suite keywords
| Resource | resources/libraries/robot/lisp/lisp_api.robot
| Library | resources.libraries.python.LispSetup.LispLocatorSet
| Library | resources.libraries.python.LispSetup.LispLocator
| Library | resources.libraries.python.LispSetup.LispLocalEid
+| Library | resources.libraries.python.LispSetup.LispAdjacency
| Library | resources.libraries.python.LispSetup.LispRemoteMapping
*** Keywords ***
| Set up Lisp topology
-| | [Documentation] | Set up Lisp static remote mapping topology.
+| | [Documentation] | Set up Lisp static adjacency topology.
| | ...
| | ... | *Arguments:*
| | ... | - dut1_node - DUT1 node. Type: dictionary
@@ -30,11 +31,11 @@
| | ... | - dut2_node - DUT2 node. Type: dictionary
| | ... | - dut2_int_name - DUT2 node interface name. Type: string
| | ... | - dut2_int_index - DUT2 node interface index. Type: integer
-| | ... | - locator_set - Locator set values. Type: dict
-| | ... | - dut1_eid - Dut1 node eid address. Type: dict
-| | ... | - dut2_eid - Dut2 node eid address. Type: dict
-| | ... | - dut1_static_mapping - Dut1 static mapping address. Type: dict
-| | ... | - dut2_static_mapping - Dut2 static mapping address. Type: dict
+| | ... | - locator_set - Locator set values. Type: dictionary
+| | ... | - dut1_eid - Dut1 node eid address. Type: dictionary
+| | ... | - dut2_eid - Dut2 node eid address. Type: dictionary
+| | ... | - dut1_static_adjacency - Dut1 static adjacency. Type: dictionary
+| | ... | - dut2_static_adjacency - Dut2 static address. Type: dictionary
| | ...
| | ... | *Return:*
| | ... | - No value returned
@@ -43,12 +44,12 @@
| | ... | \| Set up Lisp topology \| ${dut1_node} \| ${interface_name} \
| | ... | \| None \| ${dut2_node} \| ${interface_name} \| None \
| | ... | \| ${locator_set} \| ${dut1_eid} \| ${dut2_eid} \
-| | ... | \| ${dut1_static_mapping} \| ${dut2_static_mapping} \|
+| | ... | \| ${dut1_static_adjacency} \| ${dut2_static_adjacency} \|
| | ...
| | [Arguments] | ${dut1_node} | ${dut1_int_name} | ${dut1_int_index}
| | ... | ${dut2_node} | ${dut2_int_name} | ${dut2_int_index}
| | ... | ${locator_set} | ${dut1_eid} | ${dut2_eid}
-| | ... | ${dut1_static_mapping} | ${dut2_static_mapping}
+| | ... | ${dut1_static_adjacency} | ${dut2_static_adjacency}
| | ${dut1_int_index}= | Run Keyword If | ${dut1_int_index} is None
| | | ... | Get Interface Sw Index | ${dut1_node}
| | | ... | ${dut1_int_name}
@@ -65,12 +66,17 @@
| | Vpp Add Lisp Local Eid | ${dut1_node} | ${dut1_eid['locator_name']}
| | ... | ${dut1_eid['vni']} | ${dut1_eid['eid']}
| | ... | ${dut1_eid['prefix']}
-| | Vpp Add Lisp Remote Mapping | ${dut1_node} | ${dut1_static_mapping['vni']}
-| | ... | ${dut1_static_mapping['deid']}
-| | ... | ${dut1_static_mapping['prefix']}
-| | ... | ${dut1_static_mapping['seid']}
-| | ... | ${dut1_static_mapping['prefix']}
-| | ... | ${dut1_static_mapping['rloc']}
+| | Vpp Add Lisp Remote Mapping | ${dut1_node} | ${dut1_static_adjacency['vni']}
+| | ... | ${dut1_static_adjacency['deid']}
+| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['seid']}
+| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['rloc']}
+| | Vpp Add Lisp Adjacency | ${dut1_node} | ${dut1_static_adjacency['vni']}
+| | ... | ${dut1_static_adjacency['deid']}
+| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['seid']}
+| | ... | ${dut1_static_adjacency['prefix']}
| | Enable Lisp | ${dut2_node}
| | Vpp Add Lisp Locator Set | ${dut2_node} | ${locator_set['locator_name']}
| | Vpp Add Lisp Locator | ${dut2_node} | ${locator_set['locator_name']}
@@ -79,9 +85,14 @@
| | Vpp Add Lisp Local Eid | ${dut2_node} | ${dut2_eid['locator_name']}
| | ... | ${dut2_eid['vni']} | ${dut2_eid['eid']}
| | ... | ${dut2_eid['prefix']}
-| | Vpp Add Lisp Remote Mapping | ${dut2_node} | ${dut2_static_mapping['vni']}
-| | ... | ${dut2_static_mapping['deid']}
-| | ... | ${dut2_static_mapping['prefix']}
-| | ... | ${dut2_static_mapping['seid']}
-| | ... | ${dut2_static_mapping['prefix']}
-| | ... | ${dut2_static_mapping['rloc']} \ No newline at end of file
+| | Vpp Add Lisp Remote Mapping | ${dut2_node} | ${dut2_static_adjacency['vni']}
+| | ... | ${dut2_static_adjacency['deid']}
+| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['seid']}
+| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['rloc']}
+| | Vpp Add Lisp Adjacency | ${dut2_node} | ${dut2_static_adjacency['vni']}
+| | ... | ${dut2_static_adjacency['deid']}
+| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['seid']}
+| | ... | ${dut2_static_adjacency['prefix']} \ No newline at end of file
diff --git a/resources/templates/vat/lisp/add_lisp_adjacency.vat b/resources/templates/vat/lisp/add_lisp_adjacency.vat
new file mode 100644
index 0000000000..cdc993674c
--- /dev/null
+++ b/resources/templates/vat/lisp/add_lisp_adjacency.vat
@@ -0,0 +1 @@
+lisp_add_del_adjacency add vni {vni} deid {deid}/{deid_prefix} seid {seid}/{seid_prefix}
diff --git a/resources/test_data/lisp/static_mapping/lisp_static_mapping.py b/resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py
index 94ff2c529c..de7aff068d 100644
--- a/resources/test_data/lisp/static_mapping/lisp_static_mapping.py
+++ b/resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py
@@ -29,16 +29,16 @@ dut2_to_tg_ip4 = '6.0.2.1'
tg1_ip4 = '6.0.1.2'
tg2_ip4 = '6.0.2.2'
prefix4 = 24
-dut1_ip4_static_mapping = {'vni': 0,
- 'deid': '6.0.2.0',
- 'seid': '6.0.1.0',
- 'rloc': '6.0.3.2',
- 'prefix': 24}
-dut2_ip4_static_mapping = {'vni': 0,
- 'deid': '6.0.1.0',
- 'seid': '6.0.2.0',
- 'rloc': '6.0.3.1',
- 'prefix': 24}
+dut1_to_dut2_ip4_static_adjacency = {'vni': 0,
+ 'deid': '6.0.2.0',
+ 'seid': '6.0.1.0',
+ 'rloc': '6.0.3.2',
+ 'prefix': 24}
+dut2_to_dut1_ip4_static_adjacency = {'vni': 0,
+ 'deid': '6.0.1.0',
+ 'seid': '6.0.2.0',
+ 'rloc': '6.0.3.1',
+ 'prefix': 24}
dut1_ip4_eid = {'locator_name': locator_name,
'vni': 0,
'eid': '6.0.1.0',
@@ -56,16 +56,16 @@ dut2_to_tg_ip6 = '6:0:2::1'
tg1_ip6 = '6:0:1::2'
tg2_ip6 = '6:0:2::2'
prefix6 = 64
-dut1_ip6_static_mapping = {'vni': 0,
- 'deid': '6:0:2::0',
- 'seid': '6:0:1::0',
- 'rloc': '6:0:3::2',
- 'prefix': 64}
-dut2_ip6_static_mapping = {'vni': 0,
- 'deid': '6:0:1::0',
- 'seid': '6:0:2::0',
- 'rloc': '6:0:3::1',
- 'prefix': 64}
+dut1_to_dut2_ip6_static_adjacency = {'vni': 0,
+ 'deid': '6:0:2::0',
+ 'seid': '6:0:1::0',
+ 'rloc': '6:0:3::2',
+ 'prefix': 64}
+dut2_to_dut1_ip6_static_adjacency = {'vni': 0,
+ 'deid': '6:0:1::0',
+ 'seid': '6:0:2::0',
+ 'rloc': '6:0:3::1',
+ 'prefix': 64}
dut1_ip6_eid = {'locator_name': locator_name,
'vni': 0,
'eid': '6:0:1::0',
@@ -84,16 +84,16 @@ tg1_ip4o6 = '6.0.1.2'
tg2_ip4o6 = '6.0.2.2'
tg_prefix4o6 = 24
dut_prefix4o6 = 64
-dut1_ip4o6_static_mapping = {'vni': 0,
- 'deid': '6.0.2.0',
- 'seid': '6.0.1.0',
- 'rloc': '6:0:3::2',
- 'prefix': 24}
-dut2_ip4o6_static_mapping = {'vni': 0,
- 'deid': '6.0.1.0',
- 'seid': '6.0.2.0',
- 'rloc': '6:0:3::1',
- 'prefix': 24}
+dut1_ip4o6_static_adjacency = {'vni': 0,
+ 'deid': '6.0.2.0',
+ 'seid': '6.0.1.0',
+ 'rloc': '6:0:3::2',
+ 'prefix': 24}
+dut2_ip4o6_static_adjacency = {'vni': 0,
+ 'deid': '6.0.1.0',
+ 'seid': '6.0.2.0',
+ 'rloc': '6:0:3::1',
+ 'prefix': 24}
dut1_ip4o6_eid = {'locator_name': locator_name,
'vni': 0,
'eid': '6.0.1.0',
@@ -112,16 +112,16 @@ tg1_ip6o4 = '6:0:1::2'
tg2_ip6o4 = '6:0:2::2'
tg_prefix6o4 = 64
dut_prefix6o4 = 24
-dut1_ip6o4_static_mapping = {'vni': 0,
- 'deid': '6:0:2::0',
- 'seid': '6:0:1::0',
- 'rloc': '6.0.3.2',
- 'prefix': 64}
-dut2_ip6o4_static_mapping = {'vni': 0,
- 'deid': '6:0:1::0',
- 'seid': '6:0:2::0',
- 'rloc': '6.0.3.1',
- 'prefix': 64}
+dut1_ip6o4_static_adjacency = {'vni': 0,
+ 'deid': '6:0:2::0',
+ 'seid': '6:0:1::0',
+ 'rloc': '6.0.3.2',
+ 'prefix': 64}
+dut2_ip6o4_static_adjacency = {'vni': 0,
+ 'deid': '6:0:1::0',
+ 'seid': '6:0:2::0',
+ 'rloc': '6.0.3.1',
+ 'prefix': 64}
dut1_ip6o4_eid = {'locator_name': locator_name,
'vni': 0,
'eid': '6:0:1::0',
diff --git a/tests/func/lisp/lisp_dataplane_untagged.robot b/tests/func/lisp/lisp_dataplane_untagged.robot
index 0808d366c6..1b33b4312e 100644
--- a/tests/func/lisp/lisp_dataplane_untagged.robot
+++ b/tests/func/lisp/lisp_dataplane_untagged.robot
@@ -16,13 +16,13 @@
| Resource | resources/libraries/robot/testing_path.robot
| Resource | resources/libraries/robot/ipv4.robot
| Resource | resources/libraries/robot/traffic.robot
-| Resource | resources/libraries/robot/lisp/lisp_static_mapping.robot
+| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.Trace
| Library | resources.libraries.python.IPv4Util.IPv4Util
# import additional Lisp settings from resource file
-| Variables | resources/test_data/lisp/static_mapping/lisp_static_mapping.py
+| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
| Test Setup | Run Keywords | Setup all DUTs before test
@@ -30,7 +30,7 @@
| ... | AND | Update All Interface Data On All Nodes | ${nodes}
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
| ... | AND | Show vpp trace dump on all DUTs
-| Documentation | *LISP static remote mapping test cases*
+| Documentation | *LISP static adjacency test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
@@ -55,7 +55,7 @@
| | [Documentation]
| | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-LISP-IPv4-ICMPv4 on \
| | ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn. [Cfg] On DUT1 and DUT2
-| | ... | configure IPv4 LISP remote static mappings. [Ver] Make TG send
+| | ... | configure IPv4 LISP static adjacencies. [Ver] Make TG send
| | ... | ICMPv4 Echo Req between its interfaces across both DUTs and LISP
| | ... | tunnel between them; verify IPv4 headers on received packets are
| | ... | correct. [Ref] RFC6830.
@@ -82,7 +82,8 @@
| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE}
| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE}
| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid}
-| | ... | ${dut1_ip4_static_mapping} | ${dut2_ip4_static_mapping}
+| | ... | ${dut1_to_dut2_ip4_static_adjacency}
+| | ... | ${dut2_to_dut1_ip4_static_adjacency}
| | Then Send Packet And Check Headers
| | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4}
| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
@@ -96,7 +97,7 @@
| | [Documentation]
| | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv6-LISP-IPv6-ICMPv6 on \
| | ... | DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn. [Cfg] On DUT1 and DUT2
-| | ... | configure IPv6 LISP remote static mappings. [Ver] Make TG send
+| | ... | configure IPv6 LISP static adjacencies. [Ver] Make TG send
| | ... | ICMPv6 Echo Req between its interfaces across both DUTs and LISP
| | ... | tunnel between them; verify IPv4 headers on received packets are
| | ... | correct. [Ref] RFC6830.
@@ -123,7 +124,8 @@
| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE}
| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE}
| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid}
-| | ... | ${dut1_ip6_static_mapping} | ${dut2_ip6_static_mapping}
+| | ... | ${dut1_to_dut2_ip6_static_adjacency}
+| | ... | ${dut2_to_dut1_ip6_static_adjacency}
| | Then Send Packet And Check Headers
| | ... | ${tg_node} | ${tg1_ip6} | ${tg2_ip6}
| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
@@ -137,7 +139,7 @@
| | [Documentation]
| | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv6-LISP-IPv4-ICMPv4 on \
| | ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn. [Cfg] On DUT1 and DUT2
-| | ... | configure IPv6 LISP remote static mappings. [Ver] Make TG send
+| | ... | configure IPv6 LISP static adjacencies. [Ver] Make TG send
| | ... | ICMPv4 Echo Req between its interfaces across both DUTs and LISP
| | ... | tunnel between them; verify IPv4 headers on received packets are
| | ... | correct. [Ref] RFC6830.
@@ -164,7 +166,7 @@
| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE}
| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE}
| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid}
-| | ... | ${dut1_ip4o6_static_mapping} | ${dut2_ip4o6_static_mapping}
+| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency}
| | Then Send Packet And Check Headers
| | ... | ${tg_node} | ${tg1_ip4o6} | ${tg2_ip4o6}
| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
@@ -178,7 +180,7 @@
| | [Documentation]
| | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-LISP-IPv6-ICMPv6 on \
| | ... | DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn. [Cfg] On DUT1 and DUT2
-| | ... | configure IPv4 LISP remote static mappings. [Ver] Make TG send
+| | ... | configure IPv4 LISP static adjacencies. [Ver] Make TG send
| | ... | ICMPv6 Echo Req between its interfaces across both DUTs and LISP
| | ... | tunnel between them; verify IPv4 headers on received packets are
| | ... | correct. [Ref] RFC6830.
@@ -205,7 +207,7 @@
| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE}
| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE}
| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
-| | ... | ${dut1_ip6o4_static_mapping} | ${dut2_ip6o4_static_mapping}
+| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
| | Then Send Packet And Check Headers
| | ... | ${tg_node} | ${tg1_ip6o4} | ${tg2_ip6o4}
| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}
@@ -219,7 +221,7 @@
| | [Documentation]
| | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-LISP-IPv4-ICMPv4 on \
| | ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn. [Cfg1] On DUT1 and DUT2
-| | ... | configure IPv4 LISP remote static mappings. [Ver1] Make TG send
+| | ... | configure IPv4 LISP static adjacencies. [Ver1] Make TG send
| | ... | ICMPv4 Echo Req between its interfaces across both DUTs and LISP
| | ... | tunnel between them; verify IPv4 headers on received packets are
| | ... | correct. [Cfg2] Disable LISP. [Ver2] verify packets are not
@@ -248,7 +250,8 @@
| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE}
| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE}
| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid}
-| | ... | ${dut1_ip4_static_mapping} | ${dut2_ip4_static_mapping}
+| | ... | ${dut1_to_dut2_ip4_static_adjacency}
+| | ... | ${dut2_to_dut1_ip4_static_adjacency}
| | Then Send Packet And Check Headers
| | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4}
| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac}