aboutsummaryrefslogtreecommitdiffstats
path: root/resources/traffic_profiles/trex
AgeCommit message (Expand)AuthorFilesLines
2019-06-10Python3: TRex driverPeter Mikus1-10/+3
2019-06-05Even more Crypto combinationsPeter Mikus2-0/+188
2019-05-24CSIT-1425 Upgrade TRex to v2.54Tibor Frank77-341/+127
2019-05-13FIX: Latency stream not using VM transformationPeter Mikus1-6/+4
2019-05-09Add new higher density NF testsPeter Mikus4-0/+456
2019-01-21CSIT-1390 Implement multichain configuration for l2bd with vhost/l3fwd.Peter Mikus19-0/+2168
2018-10-10Add VXLAN scale perf testsJan Gelety4-0/+518
2018-09-18Add dot1q-ip6base-[ndrpdr|mrr] perf tests for 2-node topologyJan Gelety1-0/+104
2018-09-14Add dot1q-ip4base-[ndrpdr|mrr] perf tests for 2-node topologyJan Gelety1-0/+99
2018-09-10Create l2bdscale tests for 2-node topologyJan Gelety6-3/+432
2018-09-07Create ip6scale tests for 2-node topologyJan Gelety3-0/+291
2018-09-05Create ip4scale tests for 2-node topologyJan Gelety3-0/+282
2018-08-28Create ip4-feature perf tests for 2-node topologyJan Gelety5-3/+228
2018-07-16Add L2xc/L2bd/Ip4/Ip6 2-node tests for x710Peter Mikus2-0/+189
2018-07-03VTS VXLAN vhost-user with single DUT, TG sends VXLANPeter Ginchev1-0/+134
2018-01-04TRex ASTF onboarding Part IPeter Mikus2-0/+214
2018-01-02Upgrade to T-rex v2.34Tibor Frank20-80/+40
2017-10-11CSIT-778: Add mac-ip binding acl l2bd perf testJan Gelety3-0/+345
2017-09-04CSIT-786 L2FIB scale testingPeter Mikus3-0/+435
2017-07-19CSIT-704: Add ACL IP4BASE perf testsJan Gelety3-39/+39
2017-07-06CSIT-622: Stateful Security Groups perf testsJan Gelety3-0/+411
2017-06-29CSIT-687: Directory structure reorganizationTibor Frank23-0/+2416
pan class="se">\n%U%U", format_white_space, indent, node->format_buffer, (void *) (h + 1), max_header_bytes - header_bytes); } return s; } u8 * format_llc_header (u8 * s, va_list * args) { llc_header_t *h = va_arg (*args, llc_header_t *); return format (s, "%U", format_llc_header_with_length, h, 0); } /* Returns llc protocol as an int in host byte order. */ uword unformat_llc_protocol (unformat_input_t * input, va_list * args) { u8 *result = va_arg (*args, u8 *); llc_main_t *pm = &llc_main; int p, i; /* Numeric type. */ if (unformat (input, "0x%x", &p) || unformat (input, "%d", &p)) { if (p >= (1 << 8)) return 0; *result = p; return 1; } /* Named type. */ if (unformat_user (input, unformat_vlib_number_by_name, pm->protocol_info_by_name, &i)) { llc_protocol_info_t *pi = vec_elt_at_index (pm->protocol_infos, i); *result = pi->protocol; return 1; } return 0; } uword unformat_llc_header (unformat_input_t * input, va_list * args) { u8 **result = va_arg (*args, u8 **); llc_header_t _h, *h = &_h; u8 p; if (!unformat (input, "%U", unformat_llc_protocol, &p)) return 0; h->src_sap = h->dst_sap = p; h->control = 0x3; /* Add header to result. */ { void *p; u32 n_bytes = sizeof (h[0]); vec_add2 (*result, p, n_bytes); clib_memcpy (p, h, n_bytes); } return 1; } static u8 * llc_build_rewrite (vnet_main_t * vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address) { llc_header_t *h; u8 *rewrite = NULL; llc_protocol_t protocol; switch (link_type) { #define _(a,b) case VNET_LINK_##a: protocol = LLC_PROTOCOL_##b; break _(IP4, ip4); #undef _ default: return (NULL); } vec_validate (rewrite, sizeof (*h) - 1); h = (llc_header_t *) rewrite; h->src_sap = h->dst_sap = protocol; h->control = 0x3; return (rewrite); } /* *INDENT-OFF* */ VNET_HW_INTERFACE_CLASS (llc_hw_interface_class) = { .name = "LLC", .format_header = format_llc_header_with_length, .unformat_header = unformat_llc_header, .build_rewrite = llc_build_rewrite, }; /* *INDENT-ON* */ static void add_protocol (llc_main_t * pm, llc_protocol_t protocol, char *protocol_name) { llc_protocol_info_t *pi; u32 i; vec_add2 (pm->protocol_infos, pi, 1); i = pi - pm->protocol_infos; pi->name = protocol_name; pi->protocol = protocol; pi->next_index = pi->node_index = ~0; hash_set (pm->protocol_info_by_protocol, protocol, i); hash_set_mem (pm->protocol_info_by_name, pi->name, i); } static clib_error_t * llc_init (vlib_main_t * vm) { clib_error_t *error; llc_main_t *pm = &llc_main; clib_memset (pm, 0, sizeof (pm[0])); pm->vlib_main = vm; pm->protocol_info_by_name = hash_create_string (0, sizeof (uword)); pm->protocol_info_by_protocol = hash_create (0, sizeof (uword)); #define _(f,n) add_protocol (pm, LLC_PROTOCOL_##f, #f); foreach_llc_protocol; #undef _ if ((error = vlib_call_init_function (vm, snap_init))) return error; return vlib_call_init_function (vm, llc_input_init); } VLIB_INIT_FUNCTION (llc_init); /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */