summaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
2021-04-12avf: avf flow bug fixChenmin Sun2-27/+2
This patch fixes the below bugs in avf flow: 1. remove the VXLAN flow as it is not yet supported 2. fix a typo in IPv6 flow 3. fix the wrong type of the AH flows Also did some cleanup in this patch Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I5eae131f1e89071364a41b7006a00e8425089a4f
2021-04-12geneve: fix options len parsing as 32-bits wordsMohammed Hawari1-2/+3
See https://tools.ietf.org/html/rfc8926 3.4. second paragraph Opt Len Change-Id: I191d835651b2fa64eeb4ec4271497cf3342554be Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
2021-04-12tests: support attaching to existing vppKlement Sekera1-1/+1
Introduce a new option DEBUG=attach to run a test against existing already running vpp. A new target 'make test-start-gdb' will spawn VPP in gdb for this purpose. Customization options explained in test-help. Type: improvement Change-Id: Ia160a85b33da3b2df292d44bb95729af9dd9da96 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-09dpdk: selection of cryptodev engine data-pathFan Zhang6-2731/+2078
Type: improvement This patch combined cryptodev op and cryptodev raw API data paths into one and makes the engine run-timely select which data path is used: if all cryptodev devices support RTE_CRYPTODEV_FF_SYM_RAW_DP feature flag, the raw data path API is used, otherwise the traditional data path is used. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: Ibbd7c4405288bd9a48a34878954fd3040df7b4ad
2021-04-08memif: Use log_debug for clib_file_add and clib_file_delSteven Luong1-15/+24
It is more appropriate to use log_debug instead of log_warn when inoking clib_file_add and clib_file_del. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I544d97037cfca3f22ce94242aef0c7b0fea2fa9b
2021-04-08avf: correctly set VL_API_AVF_DELETE is_mp_safeSteven Luong1-2/+3
Need to add msg_id_base with VL_API_AVF_DELETE to properly set the correct is_mp_safe variable. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I20f6e9441727fb7ffc132965b93c0a90482e1a52
2021-04-08avf: crash on avf interface deleteSteven Luong1-1/+3
When deleting an avf interface which is not the very first interface that was created (dev_instance == 0), VPP crashes. The reason is every avf interface delete always removes the very first device instance due to ad->dev_instance was wiped out prior to the statement pool_put_index (am->devices, ad->dev_instance) Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I69bd1588aab9a176f8eef46be7aa5063f5d29482
2021-04-07crypto: fix ops flags in crypto sw schedulerBenoît Ganne1-7/+2
The crypto op flags must be reset to frame flags minus invalid values depending of the operation, instead of forcing them to specific values. Type: fix Change-Id: Ib02c2a738bbca6962394b3c03088d516d0da56a0 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-04-06tests: remove wrappersKlement Sekera1-75/+53
Improve the code by removing another kind of wrappers. Type: improvement Change-Id: I5292ef6c1761e3c6c2edd15f2aa625dac26c3732 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-05tcp: time infra improvementsFlorin Coras1-12/+19
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I998c0686f9f7dc556dda8b28e23bbed127d0aafc
2021-04-05arping: coverity woe on COPY_PASTE_ERRORSteven Luong1-1/+1
coverity is trying to outsmart human by guessing on COPY_PASTE_ERROR. Have it your way. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I0239c9745e21384aebbaf9e977962746b81ded58
2021-04-05cnat: explicit BIHASH_USE_HEAP settingDave Barach1-0/+2
The session db (bihash_40_56_t) was inheriting BIHASH_USE_HEAP=1 from vppinfra/bihash_24_8.h through a convoluted set of #includes. Set BIHASH_USE_HEAP in cnat_bihash.h, to avoid a surprise long after anyone remembers the story. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I8aa3be09b306fc99ba0b6baa5096a0a6829a8951
2021-04-02arping: add arping commandSteven Luong8-0/+1470
Add linux similar arping command to VPP. syntax: arping [gratuitous] <address> <interface> [repeat <count>] [interval <secs>] Type: feature Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I9267c054235207b8fae8e3f159246777eb0340dd
2021-04-01avf: disable VLAN stripping on E810 using V2 VLAN APIsDamjan Marion4-14/+201
Type: fix Change-Id: I9bb19a5c9b5b48825f19a4ac124a3628ceaa081d Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-01nat: fix ordering of feature nodesKlement Sekera1-2/+4
Fix ordering of feature nodes so that ACL runs after NAT in in2out direction so it can properly track stuff like ports after NAT rewrite. Type: fix Change-Id: I2c689b64765628e9bc77108914f74c6c801d8ce2 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-01perfmon: combined set and start command.Ray Kinsella3-47/+36
Original set, start, stop, reset, show etc interface was somewhat cumbersome, we can improve slightly by combining set and start. Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I7b865b2c29d2ab32adbd24d7f8a580da6990bb76
2021-04-01lacp: correctly set is_mp_safe for VL_API_SW_INTERFACE_LACP_DUMPSteven Luong1-2/+1
Need to add msg_id_base to the index Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Id7ebf168502e8fd811d8f2f0c5538e69e23242fb
2021-04-01perfmon: % power level per nodeRay Kinsella2-0/+58
Show % time spent per graph node in power level 0, 1 and 2. Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I678ee812fa993af39568e9f9dfbf2396fc13ad42
2021-03-31nat: enable multiworker testsKlement Sekera1-2/+0
Type: fix Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I4a5d52d54aa2748008e896888bfeabb18a1088bb
2021-03-31dpdk: fix packet offset for GCM crypto opsRobert Shearman1-0/+1
The crypto op data offset passed into DPDK is relative to the mbuf buffer address plus the mbuf data offset, therefore the mbuf data offset needs to be set rather than left at whatever previous value it was at, which is likely to be incorrect and result in the wrong portion of the packet being encrypted/decrypted for GCM. The fe->crypto_start_offset field is relative to the start of the vlib buffer (as opposed to the current data pointer), so set the mbuf data_off field to VLIB_BUFFER_PRE_DATA_SIZE when performing a GCM crypto op enqueue to match the crypto_start_offset semantics. This then matches the behaviour in the non-GCM case. Type: fix Change-Id: I0ac2a44139387158765a3e04cfcaa5ee6f11d395 Signed-off-by: Robert Shearman <robertshearman@gmail.com>
2021-03-31nat: fix test for multi-worker scenarioKlement Sekera1-3/+16
Type: fix Change-Id: I170f9d8c685f59b7ccf6f9ee7fdc1dcdf2a54fe1 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-03-31avf: improve capabilities handlingDamjan Marion5-39/+56
Type: improvement Change-Id: If35b40168414807e928cb3026633ae9d2fa703ed Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-31perfmon: add branch mispredictionsRay Kinsella3-0/+76
Add branches, branches taken (a meteric for branchy code), and branch misses. Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: If92d4aaf9d0a6e3b99b8c19e6311cc08ca470590
2021-03-31srv6-ad-flow: SRv6 Per-Flow Dynamic ProxyFrancois Clad7-0/+2331
Type: feature Change-Id: Ibfc412200ef5932fa40423075967df6d9156f3ed Signed-off-by: Francois Clad <fclad@cisco.com>
2021-03-31nat: correct thread index usageKlement Sekera3-12/+15
Use actual thread index from hash table instead of doing calculation. Calculated index might be different and could lead to crash. Type: fix Change-Id: Iede9a67fbe541cb44eccd0d6ddf4e2c51eb35423 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-03-31nat: avoid creating negative zero checksumKlement Sekera1-1/+3
Type: fix Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ibbb72e77c751b7e775620cfb160b52ceff2da86b
2021-03-31nat: NAT44-ED unused value removalFilip Varga1-4/+1
Type: fix Coverity scan issue fix. Change-Id: I9036fade15fd381da9c1e6b575f250fdcb21f876 Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-03-31nat: NAT66 plugin enable&disable calls updateFilip Varga7-119/+263
Type: improvement Adding support for enable&disable calls (dynamic plugin configuration). API (nat66_plugin_enable_disable) and CLI (nat66 plugin enable/nat66 plugin disable) with support for outside_vrf id configuration. Change-Id: I5637ff1621d6662adc3b7c6f7f8176d84a4b492b Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-03-30nat: fix HA multi-worker issuesKlement Sekera6-154/+176
Use correct vlib_main() in various code parts. Fix tests. Type: fix Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ia379f3b686599532dedaafad2278c4097a3f03f3
2021-03-30avf: fix coverity issuesChenmin Sun1-4/+4
CID #220403 ~ 220406 Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Ibb65f9f2b17b9a9d45c077933b033ca3a65ae42f
2021-03-30map: tune dump/details test for socket transportOle Troan1-1/+1
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Id3ad783a7b0321a8fa37b4e606c0c4551ca4edd4
2021-03-26vlib: convert foreach_vlib_main macro to be more gdb and clang-format friendlyDamjan Marion4-64/+62
Type: improvement Change-Id: I1152e58d7bfcb3c4347147f87a834d45ad51cdfe Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26vlib: split vlib_main_t into global and per-threadDamjan Marion1-11/+0
Type: refactor Change-Id: I8b273bc3bf16aa360f031f1b2692f766e5fc4613 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26vlib: introduce vlib_get_elog_main()Damjan Marion3-38/+29
Type: improvement Change-Id: I73383eb15186021cd6527d112da8443a0082f129 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26vlib: introduce vlib_get_main_by_index(), vlib_get_n_threads()Damjan Marion18-54/+57
Type: improvement Change-Id: If3da7d4338470912f37ff1794620418d928fb77f Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26tests: move ping tests to src/plugin/ping/testDave Wallace1-0/+176
- Refactor make test code to be co-located with the vpp plugin source code Type: test Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I09d55301665449b3f183191537749435f806fb15
2021-03-26avf: flow support enhancementChenmin Sun1-49/+219
This patch enables ip4, ip6, ip6-n-tuple, l2tpv3 esp ah flows in avf plugin Type: improvement Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I92c6d4217a6cce4085ee83e8beb4b037c8d7da5f
2021-03-26avf: handle flow id in data pathChenmin Sun3-27/+122
Type: improvement Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I24fa52fee88dabad8f0b84446f796ee055819617
2021-03-26avf: add avf flow frameworkChenmin Sun7-34/+2430
This patch adds the flow support to VPP avf_plugin. Currently only IP4-N-TUPLE and GTPU flow are supported as a reference. More flows will be added later. Type: feature Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I563dbfacecd3eba31e8c3c7769142ea6adba54b6
2021-03-25acl: fix the integer overflow bug in API message length validation logicAndrew Yourtchenko1-4/+4
Sending the bogus acl_add_replace message with count=~0 will result in an overflow of "expected_len" field which is a u32, thus the message will pass the validation when it should not. Solution - make the expected_len a u64 to avoid overflow. The bug was found while experimenting with libfuzzer as part of https://gerrit.fd.io/r/c/vpp/+/31763 Type: fix Change-Id: I4a866d48f2418148236f1b1d77c487b869c7c43d Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-03-25nat: allocate enough space for full port usageKlement Sekera1-1/+1
Type: fix Change-Id: I068bfeaf22b9e6cce967c27acdd46d4b8541bdf8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-03-25rdma: fix buggy cqe parsing (truncated packets)Mohammed Hawari1-3/+2
Change-Id: I17228bd35cc7aa0d207a16502bf1376c75675302 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
2021-03-25nat: fix bihash kvp printKlement Sekera1-2/+3
Type: fix Change-Id: I392d348b1a38affac8761b0614b117cd991958d7 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-03-25avf: introduce program flow eventChenmin Sun3-37/+86
This patch introduces a 'program flow' virtchannel event. The parameter is_add is used to identify adding or deleting the rule from avf Type: improvement Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I1f5545ddc23e4494a25afa36ff601607405a8c3d
2021-03-25nat: prevent usage of ED nodes in EI codeKlement Sekera2-44/+118
Type: fix Change-Id: I84d511c30eb5878a1867f5e9d2207a39d4f0926c Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-03-25nat: fix vnet_feature_next in source hairpinningKlement Sekera1-3/+11
Avoid erroneous double vnet_feature_next if routing buffer manually. Type: fix Change-Id: I3f56c12bf57f59a1e5ddad63a2565fa195934cf6 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-03-25stats: python vpp_stats rewrite to access stat segment directlyOle Troan3-12/+22
This module implement Python access to the VPP statistics segment. It accesses the data structures directly in shared memory. VPP uses optimistic locking, so data structures may change underneath us while we are reading. Data is copied out and it's important to spend as little time as possible "holding the lock". Counters are stored in VPP as a two dimensional array. Index by thread and index (typically sw_if_index). Simple counters count only packets, Combined counters count packets and octets. Counters can be accessed in either dimension. stat['/if/rx'] - returns 2D lists stat['/if/rx'][0] - returns counters for all interfaces for thread 0 stat['/if/rx'][0][1] - returns counter for interface 1 on thread 0 stat['/if/rx'][0][1]['packets'] - returns the packet counter for interface 1 on thread 0 stat['/if/rx'][:, 1] - returns the counters for interface 1 on all threads stat['/if/rx'][:, 1].packets() - returns the packet counters for interface 1 on all threads stat['/if/rx'][:, 1].sum_packets() - returns the sum of packet counters for interface 1 on all threads stat['/if/rx-miss'][:, 1].sum() - returns the sum of packet counters for interface 1 on all threads for simple counters Type: refactor Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I1fe7f7c7d11378d06be8276db5e1900ecdb8f515 Signed-off-by: Ole Troan <ot@cisco.com>
2021-03-24tls: fix cleanup on app close with dataFlorin Coras1-0/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I35b5ae5a58ab38cc4328f9f438938fab4fbd7942
2021-03-22tls: fix tlsopenssl for remaining bufferSivaprasad Tummala1-3/+4
Type: fix 1. added additional checks for pending data in openssl_ctx_read_tls(). 2. fixed read/write typo issues. Signed-off-by: Sivaprasad Tummala <Sivaprasad.Tummala@intel.com> Change-Id: Id018c62bb9e02bf0d5f9abf929b6030b965a5d61
2021-03-20tests: add support for worker awarenessKlement Sekera4-4/+4
VppTestCase now has vpp_worker_count property set to number of workers. This can be overriden by child classes. Also overriden by VPP_WORKER_CONFIG variable for legacy reasons. Type: improvement Change-Id: Ic328bacb9003ddf9e92815767653bd362aa7f086 Signed-off-by: Klement Sekera <ksekera@cisco.com>