summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-09-11bonding: API cleanupJakub Grajciar5-39/+63
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Idbba4ab6a412b75338e3149e51476693f0862f16 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-11tcp: handle sack renegingFlorin Coras4-135/+203
Type: feature Change-Id: I201155b1b92cf7e57310af726879dab039090582 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-11build: fix running error with vmxnet3_test_plugin.sojialv011-10/+4
vpp_api_test load vmxnet3_test_plugin.so error: "load_one_plugin:42:/vpp/lib/vpp_api_test_plugins/vmxnet3_test_plugin.so: undefined symbol: unformat_vlib_pci_addr" Type: fix Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com> Change-Id: I444aa05d0bc3c4f4f25082388243f1adb305dd0a
2019-09-10tcp: enable gso in tcp hoststackSimon Zhang6-3/+89
Type: feature Change-Id: If68d07fbe8c6f7fffd2f93c7e854367082927e4f Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-09-10misc: clean up "pcap [rx|tx] trace" debug CLIDave Barach4-169/+196
Separate debug CLI arg parsing from the underlying action function. Fixes a number of subtle ordering dependencies, and will allow us to add a binary API to control the feature at some point in the future. Type: refactor Ticket: VPP-1770 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id0dbeda06dad20e756c941c691e2088ce3c50ec7
2019-09-10session: fix session filter rangeFlorin Coras1-1/+1
Type:fix Change-Id: I173f45bf3d90e6979675b2ac812a969539f02147 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-10tcp: validate connections in outputFlorin Coras1-9/+46
Type: feature This shouldn't happen unless connections are removed after buffers were enqueued to tcp-output and before tcp-output runs. For instance, packet is enqueued to tcp output and cleanup is called for connection. Change-Id: Ib7dd82ffa6cfb21ff5068aba010e0a3497eeea13 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-10misc: fix shebang with missing envNathan Skrzypczak2-2/+2
This is needed for macos where /usr/bin/python[23] does not exist and /usr/bin is write protected Type: fix Change-Id: Ia1b3c732248c78482993de532fa2ea96e376d90a Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-10papi: let async calls return contextVratko Polak1-1/+6
Callback receives "reply" messages containing context, but previously there was no easy way to get the automatically generated context value of the originally sent "command" message. With this, the caller can store the contexts, so the callback knows which command got replied to. Type: feature Change-Id: I58ca812d20b03916f74096c396126710115a747c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-09misc: fix coverity warning in the oddbuf pluginDave Barach9-134/+21
Clean up license / copyright headers Type: fix Ticket: VPP-1771 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ibfc2a46632e17578fd74357b83f417987b8447be
2019-09-09docs: improve unformat documentationDave Barach1-8/+120
Specifically: document the unformat specifiers "%=", "%|", and correct usage of unformat_line_input. Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I254f9c4a61c5c8d3edbf76f521e5f38fb89150f1
2019-09-09memif: API cleanupJakub Grajciar7-68/+125
Use consistent API types. memif_create now enables zero-copy by default. Add no_zero_copy param to memif_create which if set, disables zero copy. Type: refactor Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I11df8b9212c40de179ee71dc9da14039b982ede5 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-09libmemif: prevent crash in case of invalid connection handleJakub Grajciar1-9/+31
Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I803c86a48e0148ef143026a5cd93e4510c4f0611 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-07vlib: clean up the "pcap dispatch trace" debug CLIDave Barach2-138/+183
Separate debug CLI arg parsing from the underlying action function. Fixes a number of subtle ordering dependencies, and will allow us to add a binary API to control the feature at some point in the future. Type: refactor Ticket: VPP-1762 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I1240fe3f61a0acf5ee9faed60d6ad3386e72e569
2019-09-07ip: fix udp/tcp checksum corner casesDave Barach13-5/+1311
When checksumming chained buffers with odd lengths: insert a NULL byte, or the calculation fails. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: John Lo <loj@cisco.com> Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc
2019-09-06ikev2: fix crash during IKE SA Init exchangeFilip Tehlar1-6/+1
Type: fix Change-Id: If827fe348fe35d1221d29f91b7e6ea1624d13999 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-09-06bonding: add weight support for active-backup modeSteven Luong8-96/+332
Not all interfaces have the same characteristics within the bonding group. For active-backup mode, we should do our best to select the slave that performs the best as the primary slave. We already did that by preferring the slave that is local numa. Sometimes, this is not enough. For example, when all are local numas, the selection is arbitrary. Some slave interfaces may have higher speed or better qos than the others. But this is hard to infer. One rule does not fit all. So we let the operator to optionally specify the weight for each slave interface. Our primary slave selection rule is now 1. biggest weight 2. is local numa 3. current primary slave (to avoid churn) 4. lowest sw_if_index (for deterministic behavior) This selection rule only applies to active-backup mode which only one slave is used for forwarding traffic until it becomes unreachable. At that time, the next "best" slave candidate is automatically promoted. The slaves are sorted according to the preference rule when they are up. So there is no need to find the next best candidate when the primary slave goes down. Another good thing about this rule is when the down slave comes back up, it is selected as the primary slave again unless there is indeed a "better" slave than this down slave that were added during that period. To set the weight for the slave interface, do this after the interface is enslaved set interface bond <interface-name> weight <value> Type: feature Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I59ced6d20ce1dec532e667dbe1afd1b4243e04f9
2019-09-06quic: fix server opening stream immediatelyAloys Augustin2-4/+19
Previously, if the first thing a server did was to open a stream and send data, this could trigger a crash on the clilent side VPP as the quic session wouldn't be allocated. Change-Id: I43990ce2a71217d6719ecae4da60111d05fbcfc0 Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-09-06tap: revert clean-up when linux will delete the tap interfaceMohsin Kazmi2-43/+0
Type: fix Ticket: VPP-1766 revert e4ac48e792f4eebfce296cfde844ee73b1abd62f Change-Id: I03feea4008a47859d570ad8d1d08ff3f30d139ef Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 623a1b7053424b539a51faf866ab839d3da3f45b)
2019-09-05build: fix unsupported CMake comparison operationjialv011-1/+1
VERSION_GREATER_EQUAL is not supported before CMake version 3.7. Type: fix Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com> Change-Id: Id690b7b7c26121f9d289ebd0aaea0860be63795f
2019-09-05dpdk: fix extended statsFilip Tehlar1-1/+1
Extended stats are not displayed due to incorrect condition. Type: fix Change-Id: Ie04664e6274137462dce832bf7ee06204cd77be5 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-09-04bfd: API cleanupJakub Grajciar5-278/+163
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I4b91ebe8aadbec8b95716ed1cde4b0a13eee3a3f Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-04stats: add /if/<n>/<n>/state for lacp interface stateSteven Luong4-3/+107
Add /if/lacp/<bond-sw_if_index>/<slave-sw_if_index>/state <bond-sw_if_index> is a vector of the bond sw_if_index <slave-sw_if_index> is a vector of the slave sw_if_index Content is the integer value of the lacp actor state. The state is actually a bitfield as described in the lacp protocol spec. Type: feature Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ic6eca8ce2a1acd2d858e4e50b7eac1d000ea08e5 Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-04memif: always enable zero-copy when creating memif using APIJakub Grajciar1-0/+3
Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I823b6297e1d2bdd438633ec7b877960e6d8423fa
2019-09-04session: improve cliFlorin Coras7-148/+348
Type: feature Allow session cli filtering based on thread index, transport protocol, session state and range of session pool indices. For instance show session thread 1 proto tcp state ready range 0 20 verbose Shows the session ids for the first 20 tcp sessions in thread 1 that are in ready state. To avoid excessive output that could reasult in the worker barrier being held by the main thread for long periods of time, the session cli will only output: - session ids (verbose == 1) for a maximum of 50 sessions / worker - verbose > 1 details for a maximum of 10 sessions Change-Id: I2cfb351b548e2e0a1d5b4345810be613e2917d17 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-04tcp: cc algos handle cwnd on congestion signalFlorin Coras3-12/+11
Type: refactor Change-Id: I15b10a22d0d0b83075a0eef5ef8c09cf76989866 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-04ethernet: move dmac filtering to inline functionMatthew Smith1-56/+63
In eth_input_process_frame(), destination MAC addresses are compared to the interface hardware address in a loop. Move this to a separate inline function to facilitate making changes to the filtering logic more cleanly. Type: refactor Change-Id: I0978f01667e78af5214dbbc9ba223f5b84ce6b7e Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-09-04avf: reduce default ITR intervalDamjan Marion1-1/+1
Type: fix Fixes: b4ff07a Change-Id: I361ec71944048734b73eec700e32531fb070194e Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-04api: memclnt api use string type.Ole Troan4-12/+12
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Idad79286b7730c8e85202c4b8e675ea50f8bbc48 Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-04session: avoid bihash list for session tablesFlorin Coras1-12/+38
Type: fix Change-Id: I1dbc822061f43fcc25dfa5d1728f5c7575139f45 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-03ethernet: fix dmac check avx2 loop conditionMatthew Smith1-1/+1
In eth_input_process_frame(), a loop which checks the destination MAC address of received packets had a different condition for avx2 than it did for the non-avx2 version of the loop. It could result in one unnecessary execution of the loop body after all packets had been processed. Type: fix Fixes: 8d6f34e2b1cbfde5702e88686631527d5e1e10a0 Change-Id: Ib673f45917a0dea461987fdc8f0ca318b749fb1a Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-09-03api: enforce vla is last and fixed string typeOle Troan25-290/+280
Enforce that variable length fields are the last element of API messages. Add a 'fixed' version of string type, since dealing with multiple variable length strings turned out too painful for the C language bindings. The string type is now: { string name[64]; // NUL terminated C-string. Essentially decays to u8 name[64] string name[]; // Variable length string with embedded len field (vl_api_string_t) }; The latter notation could be made available to other types as well. e.g. { vl_api_address_t addresses[]; } instead of { u32 n_addr; vl_api_address_t addresses[n_addr]; }; Type: fix Change-Id: I18fa17ef47227633752ab50453e8d20a652a9f9b Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-03stats: memory leak with per-node-counters onOle Troan1-0/+3
vlib_node_get_nodes() creates a duplicate node structure which was never freed. Type: fix Fixes: 1ddbc0138b Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ib1200854937faaa694b398607d2f0ba65aa81c01
2019-09-03gbp: fix set_mac() in unit testsBenoît Ganne1-6/+2
Do not use low-level sw_interface_set_mac_address() directly and use higher-level set_mac() instead, otherwise interface local_mac and configured mac are out-of-sync Type: fix Fixes: 25b049484f Change-Id: I9366e7afb95ef00e25a94ca3b0e6309871169878 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-03vppinfra: add bihash_init2Dave Barach2-20/+53
Add controls to list / not list a specific bihash in clib_all_bihashes, to immediately initialize a bihash. clib_bihash_init2 is now the primary API. It takes a typical args_t structure. clib_bihash_init becomes a compatibility widget. It fabricates an args_t and calls init2... Type: refactor Ticket: VPP-1758 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib3e1304884997cf7025af20bdc67a7dda290f15b
2019-09-03tap: fix tap interface not working on Arm issueLijian.Zhang3-2/+13
The VPP code tries to set all userspace memory in the table via IOCTL to VHOST_SET_MEM_TABLE. But on aarch64, the userspace address range is larger (48 bits) than that on x86 (47 bits). Below is an segment from /proc/[vpp]/maps. fffb41200000-fffb43a00000 rw-s 00000000 00:0e 532232 /anon_hugepage (deleted) Instead of setting all userspace memory space to vhost-net, will only set the address space reserved by pmalloc module during initialization. Type: fix Change-Id: I91cb35e990869b42094cf2cd0512593733d33677 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Steve Capper <Steve.Capper@arm.com>
2019-09-03tcp: send rwnd update only if wnd is large enoughFlorin Coras3-7/+15
Type: feature Change-Id: I3e97e05a31806afb6b2e84ecf05fb96d285db92e Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-02quic: disable quic plugin by defaultAloys Augustin2-0/+5
Change-Id: I8eb243e80ff043a23cb3efae186164dad6c11ca8 Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-09-02tap: interface rx counter not increment correctSteven Luong1-1/+1
vlib_increment_combined_counter takes sw_if_index, not hw_if_index. Using hw_if_index may work as long as there is no subinterface created to cause hw_if_index and sw_if_index to differ. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I6db042186eeeacf32250f7ef261af8cd6f5ce56e
2019-09-02ipsec ip tcp l2: multiarch nodes cannot be declared as staticDamjan Marion9-15/+16
Credits to ray.kinsella@intel.com who spotted the issue and identified root cause. Type: fix Change-Id: I4afe74c47769484309f6aebca2de56ad32c8041f Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-02tls: some rework based on TLS openssl C APIPing Yu3-26/+33
Type: fix Change-Id: I5d0ac1fe6a6770ab8b3a9c366d10387718391199 Signed-off-by: Ping Yu <ping.yu@intel.com>
2019-09-02tests: run vapi tests by defaultKlement Sekera3-6/+6
Type: fix Change-Id: I7b190507446fca745fc4bc6abbdeed48f55abdb9 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-09-02tests: fix centos detectionKlement Sekera1-1/+1
Type: fix Fixes: defde0f870 Change-Id: Ib81e3610bd0fc22901a902dc76692f1951ead2b8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-09-02vmxnet3: interface rx counter not increment correctlySteven Luong1-1/+1
vlib_increment_combined_counter takes sw_if_index, not hw_if_index. Using hw_if_index may work as long as there is no subinterface created to cause hw_if_index and sw_if_index to differ. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: If50412dc1e84c4f1f5b977b58d0e1aeb5ab8ebe6
2019-08-31tcp: fix rx min/max fifo size parsingFlorin Coras1-13/+14
Type: fix Change-Id: Iff4a13da654dbdf7f08bb6d0743b466a1e6be01b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-08-30session: move svm_fifo_clear_deq_ntf to before calling the app callbackVladimir Kropylev1-2/+2
Type: fix in case the app requests another dequeue notification, it should not be cleared Change-Id: I7e94e8e30ef098f87f5e7f4880af276970ee5b37 Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
2019-08-30vmxnet3: per interface gso supportSteven Luong8-37/+26
gso option for vmxnet3 is per VPP process currently. There is no reason why we cannot provide per interface gso support. Type: feature Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ife962b52221191050dedd18252b859880ccd7599
2019-08-30devices: fix issue of per_interface_next_indexMichael Yu1-3/+4
Per interface, next hop graph node can be customized with vnet_hw_interface_rx_redirect_to_node function, but it doesn't work well for af-packet type interface. In current implementation, with function af_packet_set_interface_next_node invoked next hop graph node index can be set to apif->per_interface_next_index, but it's not set to next0 properly for packet processing in af_packet_device_input_fn. Type: fix Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com> Change-Id: I8e132ddd1c3c01b6f476de78546d4a9389b3ff87 Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>
2019-08-30tcp: force zero window on full rx fifoFlorin Coras1-1/+4
Type: feature Change-Id: I7c5684a9f88e56fd62d83a59c14c4e4a6f096b89 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-08-30dpdk: enable checksum offload for Intel SRIOV NIC driversJohn Lo1-0/+8
Type: fix Signed-off-by: John Lo <loj@cisco.com> Change-Id: I3ee59106ba45164a4ee3788bf4dcf5bf4c2dc1c2