summaryrefslogtreecommitdiffstats
path: root/src/plugins/nsim
AgeCommit message (Collapse)AuthorFilesLines
2022-01-04nsim: cli improvementsFlorin Coras2-14/+56
- improve format and unformat of bandwidth and delay - integer packet size - track worker wheel size as config Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I616fa96237c5e06d9c809bb5c2e0bed0447f2c4d
2021-07-15misc: replace CLIB_PREFETCH with clib_prefetch_{load,store}Damjan Marion1-1/+1
Type: refactor Change-Id: Id10cbf52e8f2dd809080a228d8fa282308be84ac Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-19interface: interface-output end node reworkDamjan Marion1-3/+2
- rename node to more meaningful name - introduce lookup tables - enable multiarch - quad-loop node - enqqueue to next instead of enqueueing to node Type: improvement Change-Id: Ibb208047ae04bb6cfe56db558d3b8938bc14b4fe Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26vlib: introduce vlib_get_main_by_index(), vlib_get_n_threads()Damjan Marion1-1/+1
Type: improvement Change-Id: If3da7d4338470912f37ff1794620418d928fb77f Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-07misc: Purge unused pg includesNeale Ranns2-2/+0
Type: style Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I26a19e42076e031ec5399d5ca05cb49fd6fbe1cd
2020-09-16api: clean up use of deprecated flagOle Troan1-1/+1
The syntax of the deprecated flag has evolved. Clean up usage to be "option deprecated;". Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: If2b639f275eb8db58b36c457f9245fe35a4d8cb1
2020-07-31nsim: limit tx burst size and refactor input nodeFlorin Coras2-64/+30
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic93a598051d437a5801d794b678edf6e73d42a47
2020-07-31nsim: basic reorder supportFlorin Coras5-388/+416
Reorder delayed packets, i.e., flush instead of delay, with a configured rate. Type: feature Change-Id: Ib1294f5f1c9b6e98a12b1bb0be655e54facfed3a Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-02-13nsim: fix quad-loop packet traceDave Barach1-11/+12
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I756170bd799d1f482186cbb4b5dff9373ae6e08f
2020-01-22nsim: enable output scheduling on main threadDave Wallace2-2/+29
Type: fix Change-Id: I5d47cb9bc7eb7f3c8485e3b42f0701e81d87ba2a Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-06nsim: use explicit api typesOle Troan1-6/+7
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Icdc359beb127944418305775e42fa88c569dfbd7
2019-11-17nsim: add FEATURE.yamlDave Barach1-0/+8
Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I75d1efc503135bdc224f563b4e02b449904bfa08
2019-10-03nsim: remove api boilerplateOle Troan6-223/+11
Type: refactor Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Idf2206ae3e3d8dd05e98528ee1f02c4c7d567f37
2019-07-12nsim: cross-connect mode crash at interface output nodeJohn Lo2-6/+6
Type: fix Change-Id: If99c1d8a7ec97a726430a927eab0d3b57222af1f Signed-off-by: John Lo <loj@cisco.com>
2019-07-09vat: unload unused vat pluginsDave Barach1-19/+1
If the corresponding vpp plugin is absent, return a non-zero clib_error_t * from vat_plugin_register ("xxx plugin not loaded"). The vat plugin calls dlclose on the vat plugin, and it disappears. Depending on the plugin configuration, this can reduce the vpp virtual size by several gigabytes. Added a VAT_PLUGIN(<plugin-name>) macro to vat_helper_macros, clean up boilerplate vat_plugin_register() implementations. Fixed a number of non-standard vat_plugin_register methods. Type: refactor Change-Id: Iac908e5af7d5497c78d6aa9c3c51cdae08374045 Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-07build: add -Wall and -fno-common, fix reported issuesBenoît Ganne1-1/+0
Type: refactor Change-Id: I8489ccd54411c2aa9355439c5641dc31012c64a2 Signed-off-by: Benoît Ganne <bganne@cisco.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-05-28nsim: remove buffer u32 upper boundKorian Edeline1-1/+1
Extreme BDP flows requires more buffer memory. Change-Id: I1134be248c6bdd719fa1a033bca41414ceb73371 Signed-off-by: Korian Edeline <korian.edeline@ulg.ac.be>
2019-05-03plugins: clean up plugin descriptionsDave Wallace1-1/+1
- Make plugin descriptions more consistent so the output of "show plugin" can be used in the wiki. Change-Id: I4c6feb11e7dcc5a4cf0848eed37f1d3b035c7dda Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-16VPP-1576: nsim-plugin coverity issuesDave Barach1-2/+19
Change-Id: I832e780b00955e01871874544f3d0afc553b75f7 Signed-off-by: Dave Barach <dave@barachs.net>
2019-04-11Make the loss / delay sim available as an output featureDave Barach6-149/+629
Add binary api and debug cli support. Rewrite for speed: enqueue vlib_buffer_t's to the wheel, instead of memcpy'ing data. Quad-loop the output feature / x-connect (interior) node. Prefetch wheel entries in the input node. Save packet-generator-based unit-test setup in extras/nsim. Simple config example: set nsim delay 20 ms bandwidth 1 gbit packet-size 1024 nsim output-feature enable-disable GigabitEthernet3/0/0 Change-Id: I852a32d4eb596e7e2aa1d9b30bf3b53525e39fd1 Signed-off-by: Dave Barach <dave@barachs.net>c
2019-01-20buffers: don't init metadata, as it is already initializedDamjan Marion1-3/+0
Change-Id: Ia083050389853c25b069f0f8286d50d3f4aef527 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-06nsim: add packet loss simulation, docsDave Barach6-8/+79
Change-Id: Ic9747541aad8148ebf7d520b525b99c4cc3961f3 Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach2-3/+3
Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1 Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-01Fix API name_crc format stored in msg_api_tableIgor Mikhailov (imichail)1-1/+1
Change-Id: I716d025beb8f649060238c2bd388357943643621 Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-10-02VPP-1440: clean up coverity warningsDave Barach1-3/+5
Change-Id: Ic6823fb617ecae547a5f0e28b1e037848e40f682 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-24nsim: fix multiple definitions of nsim_nodeDamjan Marion2-3/+1
Change-Id: Iedd79eeba35fb7385c03a177f8ac7d3ddfeb6a84 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-24Network delay simulator pluginDave Barach9-0/+1522
Change-Id: I4a70c7df8f0cb368a4e1cb16f30eeef5c6058c79 Signed-off-by: Dave Barach <dave@barachs.net>
an class="n">format_rx_sm_state, ntohl (mp->rx_state), format_tx_sm_state, ntohl (mp->tx_state), format_mux_sm_state, ntohl (mp->mux_state), format_ptx_sm_state, ntohl (mp->ptx_state)); } static int api_sw_interface_lacp_dump (vat_main_t * vam) { lacp_test_main_t *lm = &lacp_test_main; vl_api_sw_interface_lacp_dump_t *mp; vl_api_control_ping_t *mp_ping; int ret; if (vam->json_output) { clib_warning ("JSON output not supported for sw_interface_lacp_dump"); return -99; } fformat (vam->ofp, "%-55s %-32s %-32s\n", " ", "actor state", "partner state"); fformat (vam->ofp, "%-25s %-12s %-16s %-31s %-31s\n", "interface name", "sw_if_index", "bond interface", "exp/def/dis/col/syn/agg/tim/act", "exp/def/dis/col/syn/agg/tim/act"); /* Get list of lacp interfaces */ M (SW_INTERFACE_LACP_DUMP, mp); S (mp); /* Use a control ping for synchronization */ if (!lm->ping_id) lm->ping_id = vl_msg_api_get_msg_index ((u8 *) (VL_API_CONTROL_PING_CRC)); mp_ping = vl_msg_api_alloc_as_if_client (sizeof (*mp_ping)); mp_ping->_vl_msg_id = htons (lm->ping_id); mp_ping->client_index = vam->my_client_index; fformat (vam->ofp, "Sending ping id=%d\n", lm->ping_id); vam->result_ready = 0; S (mp_ping); W (ret); return ret; } #include <lacp/lacp.api_test.c> /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */