| Library | resources.libraries.python.IPv4Util
| Library | resources.libraries.python.IPv6Util
| Library | resources.libraries.python.Routing
+| ...
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
-| Suite Teardown
-| ... | Restart Honeycomb and VPP | ${node}
+| ...
+| Suite Teardown | Restart Honeycomb and VPP | ${node}
+| ...
| Documentation | *Honeycomb access control lists test suite for ACL plugin.*
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
| | ... | [Ver] Send simple TCP packets from one TG interface to the other,\
| | ... | using different MACs. Receive all packets except those with\
| | ... | MACs in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | macip | ${acl_name_macip}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv4 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | l3_ip4 | ${acl_name_l3_ip4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv6 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | l3_ip6 | ${acl_name_l3_ip6}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different ports. Receive all packets except\
| | ... | those with ports in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | L4 | ${acl_name_l4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP packets from one TG interface to the other,\
| | ... | using IPs and ports. Receive all packets except those with\
| | ... | both IPs and ports in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | mixed | ${acl_name_mixed}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send ICMP packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with types and codes in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | icmp | ${acl_name_icmp}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send ICMPv6 packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with the filtered type and code.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | icmpv6 | ${acl_name_icmpv6}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | to VPP interface 2 and receive it from interface 1(this should create\
| | ... | a reflexive "permit" rule) Finally, send the original packet again\
| | ... | and receive it from interface 2.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | reflex | ${acl_name_reflex}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv4 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | l3_ip4 | ${acl_name_l3_ip4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv6 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv6
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Import Variables | resources/test_data/honeycomb/plugin_acl.py
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different ports. Receive all packets except\
| | ... | those with ports in the filtered ranges.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | L4 | ${acl_name_l4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send simple TCP packets from one TG interface to the other,\
| | ... | using IPs and ports. Receive all packets except those with\
| | ... | both IPs and ports in the filtered ranges.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | mixed | ${acl_name_mixed}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send ICMP packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with the filtered type and code.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | icmp | ${acl_name_icmp}
| | When Honeycomb Creates ACL Chain Through ACL plugin
| | ... | [Ver] Send ICMPv6 packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with the filtered type and code.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv6
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Import Variables | resources/test_data/honeycomb/plugin_acl.py
| | ... | to VPP interface 2 and receive it from interface 1(this should create\
| | ... | a reflexive "permit" rule) Finally, send the original packet again\
| | ... | and receive it from interface 2.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | reflex | ${acl_name_reflex}
| | And Add ARP on DUT
| Setup interface IPs and routes for IPv4 plugin-acl test
| | [Documentation] | Import test variables, set interfaces up,
| | ... | configure IPv4 addresses, add neighbor entry and routes.
+| | ...
| | [Arguments] | ${test_data_id} | ${acl_name}
+| | ...
| | Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | Import Variables | resources/test_data/honeycomb/plugin_acl.py
| Setup interfaces and bridge domain for plugin-acl test
| | [Documentation] | Import test variables, set interfaces up and bridge them.
+| | ...
| | [Arguments] | ${test_data_id} | ${acl_name}
+| | ...
| | Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | Import Variables | resources/test_data/honeycomb/plugin_acl.py
| | ... | ${test_data_id} | ${acl_name}
-| | Honeycomb Sets Interface State | ${dut_node} | ${dut_to_tg_if1} | up
-| | Honeycomb Sets Interface State | ${dut_node} | ${dut_to_tg_if2} | up
+| | Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
+| | Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2} | up
| | Honeycomb Creates first L2 Bridge Domain
| | ... | ${dut_node} | ${bd_name} | ${bd_settings}
| | Honeycomb Adds Interfaces To Bridge Domain
| Bridged ACL test teardown
| | [Documentation] | Log packet trace and ACL settings,
| | ... | then clean up bridge domains.
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
| | Read plugin-ACL configuration from VAT | ${node}
-| | Clear plugin-acl Settings | ${node} | ${dut_to_tg_if1}
+| | Clear plugin-ACL configuration | ${node} | ${dut_to_tg_if1}
| | Honeycomb Removes All Bridge Domains
| | ... | ${node} | ${dut_to_tg_if1} | ${dut_to_tg_if2}
| Routed ACL test teardown - ipv4
| | [Documentation] | Log packet trace and ACL settings,
| | ... | then clean up IPv4 addresses and neighbors.
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
| | Read plugin-ACL configuration from VAT | ${node}
-| | Clear plugin-acl Settings | ${node} | ${dut_to_tg_if1}
+| | Clear plugin-ACL configuration | ${node} | ${dut_to_tg_if1}
| | Honeycomb removes interface IPv4 addresses | ${node} | ${dut_to_tg_if1}
| | Honeycomb clears all interface IPv4 neighbors | ${node} | ${dut_to_tg_if1}
| Routed ACL test teardown - ipv6
| | [Documentation] | Log packet trace and ACL settings,
| | ... | then clean up IPv6 addresses and neighbors.
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
-| | Clear plugin-acl Settings | ${node} | ${dut_to_tg_if1}
+| | Clear plugin-ACL configuration | ${node} | ${dut_to_tg_if1}
| | Read plugin-ACL configuration from VAT | ${node}
| | Honeycomb removes interface IPv6 addresses | ${node} | ${dut_to_tg_if1}
| | Honeycomb clears all interface IPv6 neighbors | ${node} | ${dut_to_tg_if1}