-| | TG interface "${nodes['TG']['interfaces']['port3']['name']}" can route to node "${nodes['TG']}" interface "${nodes['TG']['interfaces']['port5']['name']}" "2" hops away using IPv4
-| | Vpp dump stats table | ${nodes['DUT1']}
-| | Check ipv4 interface counter | ${nodes['DUT1']} | ${nodes['DUT1']['interfaces']['port1']['name']} | ${1}
-| | Check ipv4 interface counter | ${nodes['DUT1']} | ${nodes['DUT1']['interfaces']['port3']['name']} | ${1}
-| | Vpp dump stats table | ${nodes['DUT2']}
-| | Check ipv4 interface counter | ${nodes['DUT2']} | ${nodes['DUT2']['interfaces']['port3']['name']} | ${1}
-| | Check ipv4 interface counter | ${nodes['DUT2']} | ${nodes['DUT2']['interfaces']['port1']['name']} | ${1}
+| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
+| | Compute Path
+| | ${src_port} | ${src_node}= | First Interface
+| | ${dst_port} | ${dst_node}= | Last Interface
+| | ${hops}= | Set Variable | ${2}
+| | Node "${src_node}" interface "${src_port}" can route to node "${dst_node}" interface "${dst_port}" ${hops} hops away using IPv4
+| | ${port} | ${node}= | Next Interface
+| | ${port} | ${node}= | Next Interface
+| | ${exp_counter_val}= | Set Variable | ${1}
+| | Vpp dump stats table | ${node}
+| | Check ipv4 interface counter | ${node} | ${port} | ${exp_counter_val}
+| | ${port} | ${node}= | Next Interface
+| | Check ipv4 interface counter | ${node} | ${port} | ${exp_counter_val}
+| | ${port} | ${node}= | Next Interface
+| | Vpp dump stats table | ${node}
+| | Check ipv4 interface counter | ${node} | ${port} | ${exp_counter_val}
+| | ${port} | ${node}= | Next Interface
+| | Check ipv4 interface counter | ${node} | ${port} | ${exp_counter_val}