aboutsummaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Expand)AuthorFilesLines
2021-11-11Report: Add 4t2c graphs for awsTibor Frank5-0/+356
2021-11-10Report: Add stats tables, aws testsTibor Frank1-0/+39
2021-11-10Report: Update known issuesVratko Polak1-26/+47
2021-11-10Report: Fixes in dynamic contentTibor Frank23-846/+748
2021-11-10report: update to vpp performance release notesMaciek Konstantynowicz1-44/+17
2021-11-09Report: Add 2n-icx, part 2Tibor Frank63-248/+3274
2021-11-09report: edits in aws methodology sectionMaciek Konstantynowicz4-119/+150
2021-11-09Report: Hide aws latencyTibor Frank3-4/+4
2021-11-08Report: Add aws latencyTibor Frank6-7/+71
2021-11-08Report: Add 2n-icx, part 1Tibor Frank1-3/+1
2021-11-08Report: Remove tests removed by 34207Tibor Frank63-3861/+238
2021-11-08Report: Add dataTibor Frank1-1/+1
2021-11-05Report: Small edits in static content.Tibor Frank2-3/+9
2021-11-03fix(Docs): Report section updatespmikus7-32/+23
2021-11-03Report: Add rls dataTibor Frank4-31/+29
2021-11-03job_specs: add ipsec 40 tunnel sw tests for 3n-skx testbedsMaciek Konstantynowicz2-2/+44
2021-11-03job_specs: add report_iterative tests to 2n-icx and 3n-icx testbedsMaciek Konstantynowicz4-0/+1344
2021-10-28fix(Autogen): VSAP driver combinationspmikus1-33/+8
2021-10-27job_specs: remove nat44ed udp and tcp scale 16m session testsMaciek Konstantynowicz4-116/+20
2021-10-27fix(docs): AWS job specspmikus6-13/+58
2021-10-27Report: Add dataTibor Frank6-7/+3
2021-10-27feat(Docs): Add AWS methodologypmikus5-0/+290
2021-10-27docs: TRex static documentationViliam Luc9-36/+169
2021-10-26feat(Docs): DPDK release notespmikus1-5/+1
2021-10-26Report: Modify aws graphsTibor Frank12-178/+316
2021-10-25Report: Add dataTibor Frank2-3/+3
2021-10-25job-specs: Reduce nr of tests to shorten execution timeTibor Frank10-1034/+18
2021-10-21Trending: Add af_xdpTibor Frank38-211/+1094
2021-10-21Trending: Fix TRex graphs, remove VTSTibor Frank7-198/+1
2021-10-21job-specs: Fix 2n-skx trex coverage job specTibor Frank1-32/+28
2021-10-20doc gen: fix doc generatorViliam Luc2-54/+54
2021-10-19Report: Add data, fix aws graphsTibor Frank2-12/+12
2021-10-18fix(job_specs): Remove flow based testspmikus1-23/+23
2021-10-18Report: Fix aws graphsTibor Frank4-40/+40
2021-10-18feat(job-specs): Adjust AWS executionpmikus6-72/+87
2021-10-18Report: Move CSIT Documentation to IntroductionTibor Frank10-18/+3
2021-10-18Trending: Add TRex ndrpdr testsTibor Frank7-0/+232
2021-10-18Report: Add RC2 dataTibor Frank1-1/+1
2021-10-14Report: Hide vsap, add dataTibor Frank1-0/+2
2021-10-14Report: Change ref to footnotes in Integration TestsTibor Frank1-60/+27
2021-10-13feat(Docs): Update few sectionspmikus6-50/+31
2021-10-13Report: Fix formatting in 'Integration Tests'Tibor Frank1-65/+106
2021-10-13job-spec: Remove 3n TRex job specsTibor Frank4-113/+0
2021-10-12Report: Hide icx dynamic contentTibor Frank12-1/+25
2021-10-12Report: Fix bugs and typos in static contentTibor Frank6-0/+14
2021-10-12Report: Add dataTibor Frank1-12/+0
2021-10-11Report: Remove 3n TRex testsTibor Frank6-418/+5
2021-10-11Report: Add rc1 and re-test dataTibor Frank4-3/+5
2021-10-08Report: Add TRex testsTibor Frank17-0/+986
2021-10-08Docs: update links by S3Tibor Frank4-14/+14
class="p">, *ri2 = e2; RTT (mma_rule) * rule1, *rule2; rule1 = RT (mma_rules_table_get_rule) (RTT (sort_srt), *ri1); rule2 = RT (mma_rules_table_get_rule) (RTT (sort_srt), *ri2); return RTT (sort_srt)->rule_cmp_fn (rule1, rule2); } void RT (mma_sort) (RTT (mma_rules_table) * srt, u32 * next_indices) { RTT (sort_srt) = srt; vec_sort_with_function (next_indices, RT (mma_sort_indices)); } int RT (mma_rules_table_add_rule) (RTT (mma_rules_table) * srt, RTT (mma_rule) * rule) { u32 parent_index, i, *next_indices = 0, added = 0, rule_index; RTT (mma_rule) * parent, *child; rule_index = RT (mma_rules_table_rule_index) (srt, rule); parent_index = RT (mma_rules_table_lookup_rule) (srt, &rule->match, srt->root_index); parent = RT (mma_rules_table_get_rule) (srt, parent_index); if (RT (rule_is_exact_match) (rule, parent)) { parent->action_index = rule->action_index; RT (mma_rule_free) (srt, rule); return -1; } if (vec_len (parent->next_indices) == 0) { vec_add1 (parent->next_indices, rule_index); return 0; } /* Check if new rule is parent of some of the existing children */ for (i = 0; i < vec_len (parent->next_indices); i++) { child = RT (mma_rules_table_get_rule) (srt, parent->next_indices[i]); if (RT (rule_is_match_for_key) (&child->match, rule)) { vec_add1 (rule->next_indices, parent->next_indices[i]); if (!added) { vec_add1 (next_indices, rule_index); added = 1; } } else { if (!added && srt->rule_cmp_fn (rule, child) < 0) { vec_add1 (next_indices, rule_index); added = 1; } vec_add1 (next_indices, parent->next_indices[i]); } } if (!added) vec_add1 (next_indices, rule_index); vec_free (parent->next_indices); parent->next_indices = next_indices; return 0; } int RT (mma_rules_table_del_rule) (RTT (mma_rules_table) * srt, RTT (mma_rule) * rule, u32 rule_index) { RTT (mma_rule) * rp; u32 rv; int i; ASSERT (rule_index != MMA_TABLE_INVALID_INDEX); rp = RT (mma_rules_table_get_rule) (srt, rule_index); if (!RT (rule_is_match_for_key) (&rule->match, rp)) return MMA_TABLE_INVALID_INDEX; if (RT (rule_is_exact_match) (rule, rp)) { if (rule_index == srt->root_index) rp->action_index = MMA_TABLE_INVALID_INDEX; return 1; } for (i = 0; i < vec_len (rp->next_indices); i++) { rv = RT (mma_rules_table_del_rule) (srt, rule, rp->next_indices[i]); if (rv == 1) { RTT (mma_rule) * child; u32 *next_indices = 0, *new_elts, left_to_add; child = RT (mma_rules_table_get_rule) (srt, rp->next_indices[i]); ASSERT (RT (rule_is_exact_match) (rule, child)); if (i != 0) { vec_add2 (next_indices, new_elts, i); clib_memcpy_fast (new_elts, rp->next_indices, i * sizeof (u32)); } if (vec_len (child->next_indices)) vec_append (next_indices, child->next_indices); left_to_add = vec_len (rp->next_indices) - i - 1; if (left_to_add) { vec_add2 (next_indices, new_elts, left_to_add); clib_memcpy_fast (new_elts, &rp->next_indices[i + 1], left_to_add * sizeof (u32)); } RT (mma_rule_free) (srt, child); vec_free (rp->next_indices); rp->next_indices = next_indices; return 0; } else if (rv == 0) return rv; } return MMA_TABLE_INVALID_INDEX; } /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */