summaryrefslogtreecommitdiffstats
path: root/src/plugins
ModeNameSize
-rw-r--r--CMakeLists.txt1083logstatsplain
d---------abf363logstatsplain
d---------acl1102logstatsplain
d---------adl414logstatsplain
d---------af_xdp519logstatsplain
d---------arping273logstatsplain
d---------avf630logstatsplain
d---------bufmon160logstatsplain
d---------builtinurl287logstatsplain
d---------cdp376logstatsplain
d---------cnat1093logstatsplain
d---------crypto_ipsecmb119logstatsplain
d---------crypto_native301logstatsplain
d---------crypto_openssl116logstatsplain
d---------crypto_sw_scheduler209logstatsplain
d---------ct6261logstatsplain
d---------dhcp1366logstatsplain
d---------dispatch-trace76logstatsplain
d---------dns389logstatsplain
d---------dpdk253logstatsplain
d---------flowprobe331logstatsplain
d---------gbp1783logstatsplain
d---------geneve390logstatsplain
d---------gtpu385logstatsplain
d---------hs_apps374logstatsplain
d---------http_static296logstatsplain
d---------igmp1262logstatsplain
d---------ikev2548logstatsplain
d---------ila108logstatsplain
d---------ioam595logstatsplain
d---------l2e218logstatsplain
d---------l2tp401logstatsplain
d---------l3xc305logstatsplain
d---------lacp843logstatsplain
d---------lb506logstatsplain
d---------linux-cp521logstatsplain
d---------lisp142logstatsplain
d---------lldp544logstatsplain
d---------mactime394logstatsplain
d---------map586logstatsplain
d---------marvell146logstatsplain
d---------mdata270logstatsplain
d---------memif404logstatsplain
d---------mss_clamp248logstatsplain
d---------nat375logstatsplain
d---------nsh530logstatsplain
d---------nsim299logstatsplain
d---------oddbuf227logstatsplain
d---------perfmon262logstatsplain
d---------ping110logstatsplain
d---------pppoe433logstatsplain
d---------quic457logstatsplain
d---------rdma554logstatsplain
d---------snort292logstatsplain
d---------srtp193logstatsplain
d---------srv6-ad-flow240logstatsplain
d---------srv6-ad225logstatsplain
d---------srv6-am225logstatsplain
d---------srv6-as225logstatsplain
d---------srv6-mobile490logstatsplain
d---------stn218logstatsplain
d---------svs220logstatsplain
d---------tlsmbedtls83logstatsplain
d---------tlsopenssl450logstatsplain
d---------tlspicotls284logstatsplain
d---------tracedump431logstatsplain
d---------unittest1349logstatsplain
d---------urpf297logstatsplain
d---------vmxnet3492logstatsplain
d---------vrrp537logstatsplain
d---------wireguard1267logstatsplain
ss="o">.send_and_assert_no_replies(self.pg0, p * NUM_PKTS) self.send_and_expect(self.pg1, p * NUM_PKTS, self.pg0) acl_if_w.remove_vpp_config() self.send_and_expect(self.pg0, p * NUM_PKTS, self.pg1) self.send_and_expect(self.pg1, p * NUM_PKTS, self.pg0) # # L3 routes in two separate tables so a pipe can be used to L3 # x-connect # tables = [] tables.append(VppIpTable(self, 1)) tables.append(VppIpTable(self, 2)) for t in tables: t.add_vpp_config() self.pg2.set_table_ip4(1) self.pg2.config_ip4() self.pg2.resolve_arp() self.pg3.set_table_ip4(2) self.pg3.config_ip4() self.pg3.resolve_arp() routes = [] routes.append(VppIpRoute(self, "1.1.1.1", 32, [VppRoutePath(self.pg3.remote_ip4, self.pg3.sw_if_index)], table_id=2)) routes.append(VppIpRoute(self, "1.1.1.1", 32, [VppRoutePath("0.0.0.0", pipes[1].east)], table_id=1)) routes.append(VppIpRoute(self, "1.1.1.2", 32, [VppRoutePath("0.0.0.0", pipes[1].west)], table_id=2)) routes.append(VppIpRoute(self, "1.1.1.2", 32, [VppRoutePath(self.pg2.remote_ip4, self.pg2.sw_if_index)], table_id=1)) for r in routes: r.add_vpp_config() p_east = (Ether(src=self.pg2.remote_mac, dst=self.pg2.local_mac) / IP(src="1.1.1.2", dst="1.1.1.1") / UDP(sport=1234, dport=1234) / Raw(b'\xa5' * 100)) # bind the pipe ends to the correct tables self.vapi.sw_interface_set_table(pipes[1].west, 0, 2) self.vapi.sw_interface_set_table(pipes[1].east, 0, 1) # IP is not enabled on the pipes at this point self.send_and_assert_no_replies(self.pg2, p_east * NUM_PKTS) # IP enable the Pipes by making them unnumbered pipes[1].set_unnumbered(self.pg2.sw_if_index, True) pipes[1].set_unnumbered(self.pg3.sw_if_index, False) self.send_and_expect(self.pg2, p_east * NUM_PKTS, self.pg3) # and the return path p_west = (Ether(src=self.pg3.remote_mac, dst=self.pg3.local_mac) / IP(src="1.1.1.1", dst="1.1.1.2") / UDP(sport=1234, dport=1234) / Raw(b'\xa5' * 100)) self.send_and_expect(self.pg3, p_west * NUM_PKTS, self.pg2) # # Use ACLs to test features run on the Pipes # acl_if_e1 = VppAclInterface(self, sw_if_index=pipes[1].east, n_input=0, acls=[acl]) acl_if_e1.add_vpp_config() self.send_and_assert_no_replies(self.pg2, p_east * NUM_PKTS) self.send_and_expect(self.pg3, p_west * NUM_PKTS, self.pg2) # remove from output and apply on input acl_if_e1.remove_vpp_config() acl_if_w1 = VppAclInterface(self, sw_if_index=pipes[1].west, n_input=1, acls=[acl]) acl_if_w1.add_vpp_config() self.send_and_assert_no_replies(self.pg2, p_east * NUM_PKTS) self.send_and_expect(self.pg3, p_west * NUM_PKTS, self.pg2) acl_if_w1.remove_vpp_config() self.send_and_expect(self.pg2, p_east * NUM_PKTS, self.pg3) self.send_and_expect(self.pg3, p_west * NUM_PKTS, self.pg2) # cleanup (so the tables delete) self.pg2.unconfig_ip4() self.pg2.set_table_ip4(0) self.pg3.unconfig_ip4() self.pg3.set_table_ip4(0) self.vapi.sw_interface_set_table(pipes[1].west, 0, 0) self.vapi.sw_interface_set_table(pipes[1].east, 0, 0) if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)