aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-8vh-4vm2t-vppip4-ndrpdr.robot
AgeCommit message (Expand)AuthorFilesLines
2020-08-20Framework: use 'stl' in trex stateless profile namesJan Gelety1-1/+1
2020-06-09Remove leading tc[nn] from test namesJuraj Linkeš1-12/+12
2020-05-15Performance: Tests with virtio driver in VMPeter Mikus1-1/+1
2020-04-06Improve pf layerPeter Mikus1-1/+3
2020-03-10Make RXQs/TXQs configurablePeter Mikus1-0/+3
2020-02-25FIX: check if t-rex is running at test setup of all perf testsJan Gelety1-1/+1
2020-01-23FIX: nfv_densityJan Gelety1-2/+2
2020-01-10Support suite tags in autogenVratko Polak1-0/+1
2020-01-10Autogen: Generate also NIC drivers.Vratko Polak1-1/+1
2019-11-28Python3: resources and librariesJan Gelety1-9/+9
2019-10-25Introduce pre-initialize driver layerPeter Mikus1-4/+5
2019-10-19Tests: Introduce driver layerPeter Mikus1-1/+3
2019-07-24NF_density dot1qip4udpvxlanPeter Mikus1-3/+7
2019-06-25Align suite/test teardown/setupPeter Mikus1-6/+6
2019-06-21Align suite/test teardown/setupPeter Mikus1-2/+2
2019-04-26NF density tests with dtc=0.5 and dtcr=2Peter Mikus1-0/+136
">sw_if_index, const ip46_address_t *nh_addr, dpo_id_t *dpo) { receive_dpo_t *rd; rd = receive_dpo_alloc(); rd->rd_sw_if_index = sw_if_index; if (NULL != nh_addr) { rd->rd_addr = *nh_addr; } dpo_set(dpo, DPO_RECEIVE, proto, (rd - receive_dpo_pool)); } static void receive_dpo_lock (dpo_id_t *dpo) { receive_dpo_t *rd; rd = receive_dpo_get_from_dpo(dpo); rd->rd_locks++; } static void receive_dpo_unlock (dpo_id_t *dpo) { receive_dpo_t *rd; rd = receive_dpo_get_from_dpo(dpo); rd->rd_locks--; if (0 == rd->rd_locks) { pool_put(receive_dpo_pool, rd); } } static u8* format_receive_dpo (u8 *s, va_list *ap) { CLIB_UNUSED(index_t index) = va_arg(*ap, index_t); CLIB_UNUSED(u32 indent) = va_arg(*ap, u32); vnet_main_t * vnm = vnet_get_main(); receive_dpo_t *rd; if (pool_is_free_index(receive_dpo_pool, index)) { return (format(s, "dpo-receive DELETED")); } rd = receive_dpo_get(index); if (~0 != rd->rd_sw_if_index) { return (format(s, "dpo-receive: %U on %U", format_ip46_address, &rd->rd_addr, IP46_TYPE_ANY, format_vnet_sw_interface_name, vnm, vnet_get_sw_interface(vnm, rd->rd_sw_if_index))); } else { return (format(s, "dpo-receive")); } } static void receive_dpo_mem_show (void) { fib_show_memory_usage("Receive", pool_elts(receive_dpo_pool), pool_len(receive_dpo_pool), sizeof(receive_dpo_t)); } const static dpo_vft_t receive_vft = { .dv_lock = receive_dpo_lock, .dv_unlock = receive_dpo_unlock, .dv_format = format_receive_dpo, .dv_mem_show = receive_dpo_mem_show, }; /** * @brief The per-protocol VLIB graph nodes that are assigned to a receive * object. * * this means that these graph nodes are ones from which a receive is the * parent object in the DPO-graph. */ const static char* const receive_ip4_nodes[] = { "ip4-local", NULL, }; const static char* const receive_ip6_nodes[] = { "ip6-local", NULL, }; const static char* const * const receive_nodes[DPO_PROTO_NUM] = { [DPO_PROTO_IP4] = receive_ip4_nodes, [DPO_PROTO_IP6] = receive_ip6_nodes, [DPO_PROTO_MPLS] = NULL, }; void receive_dpo_module_init (void) { dpo_register(DPO_RECEIVE, &receive_vft, receive_nodes); }