aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2020-07-28bonding lacp: replace slave string with memberSteven Luong6-417/+684
- Replace textual string slave with member except APIs. - For APIs, mark the existing APIs as deprecated and introduce new APIs - While introducing sw_bond_interface_dump, add the optional filter by sw_if_index and enhance the testcases to make use of it. Type: improvement Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ib6626c514e45350308aeeda0decb70f3aba2f63e
2020-07-27tcp: fix tcp_connection_cleanup() with uninitialized elogIvan Shvedunov1-3/+7
This fixes TCP connection cleanup crash when TCP debugging is enabled. It could happen if session_stream_accept() returned an error. Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Change-Id: I0df08969d82bb0f44def81b9e47195bd15502831
2020-07-24interface: fix show/clear hardware-interfaces string overflowBenoît Ganne1-5/+19
Type: fix Change-Id: Iab99bc1f6c309fae6eaa714b484274fe7072a4cb Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-24session: cleanup lookup table for rejected sessionFlorin Coras1-1/+4
Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id20f693a5acdee74ab534e9964418973537b977f
2020-07-24tcp: fix synack elog crashFlorin Coras1-2/+3
The elog track, if enabled, must be initalized before synack is sent. Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0c585f466c9a5cbc13af971ae4951b93f9913c5f
2020-07-24geneve: support geneve interface acting as a bviOle Troan4-32/+118
create geneve tunnel local 10.10.10.10 remote 10.10.10.9 vni 48 decap-next node ethernet-input l3-mode set interface ip address geneve_tunnel0 11.11.11.12/24 Type: feature Change-Id: I579ce879553d72a2e8048e33d0c0122674996b81 Signed-off-by: Ole Troan <ot@cisco.com>
2020-07-23feature: fix feature config data initialization overflowBenoît Ganne1-5/+10
Copy only exactly the data provided by the user even when it is not a 4-bytes multiple. Type: fix Change-Id: I2ef987c37e58523a38b46b09227529db2c26aa55 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-23tcp: track pending timersFlorin Coras6-42/+10
Also removes delack timer and reuses the u32 for the pending timers list. Type: fix Ticket: VPP-1923 Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4edbb72d5b2aa5e14f87659f49e675af1e834aca
2020-07-22virtio: add the buffer allocation errorMohsin Kazmi1-7/+13
Type: improvement Change-Id: I991e32d531719693c387db4ef93d04d4b562789d Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-07-21ipsec: Dedicated IPSec interface typeNeale Ranns8-19/+749
Type: feature Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Ie8bd50df163aea2798e9f9d35a13dcadc4a4a4b2
2020-07-19sr: new messages created to return sl index for segment lists in a sr policyChinmaya Agarwal2-0/+102
Type: fix Signed-off-by: Chinmaya Agarwal <chinmaya.agarwal@hsc.com> Change-Id: Id43ab583f444e4487085fc686d5faed4858b2e97
2020-07-16misc: add callback hooks and refactor pmcTom Seidenberg1-0/+4
Callbacks for monitoring and performance measurement: - Add new callback list type, with context - Add callbacks for API, CLI, and barrier sync - Modify node dispatch callback to pass plugin-specific context - Modify perfmon plugin to keep PMC samples local to the plugin - Include process nodes in dispatch callback - Pass dispatch function return value to callback Type: refactor Signed-off-by: Tom Seidenberg <tseidenb@cisco.com> Change-Id: I28b06c58490611e08d76ff5b01b2347ba2109b22
2020-07-16adl: move allow/deny list function to pluginDave Barach9-1441/+62
Provide binary API compatibility support for the "cop" APIs until vpp 21.01. Change the deprecation date in map.api to vpp 21.01. Type: refactor Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I0e60d96de4ae9ae4448f134cf257934126f3b760
2020-07-16ip: optimize ip4_header_checksum, take 2Damjan Marion1-32/+72
- add 64-bit version - remove byte swaps, as they are actually not needed Type: improvement Change-Id: Ia1efe54ee80b4ae7633b9ab36b3154c3357006d7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-07-16ip: optimize ip4_header_checksumDamjan Marion1-62/+55
Type: improvement Change-Id: I67bacb90a3dd8a9bd7beb4975ad0fe344675b65f Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-07-16gre: fix outer ip6 lengthAloys Augustin1-5/+5
This updates the computation of the outer ip6 header payload_length field in order to take into account the GRE header length. Change-Id: Ie9f982521aeaef7279a9e329a33272d6fae0a428 Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2020-07-15virtio: fix the msix for multiqueueMohsin Kazmi2-15/+60
Type: fix Change-Id: Ie0cff37b474f8d85a3ae376e0f547a347fb1ad8a Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-07-14ip: fix format_ip6_address_and_mask() bugChenmin Sun1-3/+2
Previously there's a format_ip4_address in format_ip6... This patch fixes this typo Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Ice124db6594720ed35a992d069341f399c331e1d
2020-07-13session: fix application_lookup_name fail due to app_by_name default hash ↵jiangxiaoming1-0/+1
type wrong Type: fix Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: I539c431d991234c6cebc0961588f5dfbc9caa3c2
2020-07-13session: reduce verbosity on fifo alloc failureFlorin Coras1-1/+1
Also fix session test app name registrations Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7d365154ab9af83b17b026762ab4f0aea85ce486
2020-07-07session: fix ct listener cleanupFlorin Coras3-4/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I749f36a7062bf9b073c1b6753436c23ba326a5db
2020-07-07tcp: round down rcv wnd even if avoiding retractionFlorin Coras1-13/+9
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7fb3a4a2ffc4c5f42aa043e3a317b52d7767fb81
2020-07-07tap: fix the tun sndbuf value for kernel 4.20 and laterMohsin Kazmi1-4/+16
Type: fix From kernel 4.20, xdp support has been added in tun_sendmsg. If sndbuf == INT_MAX, kernel executes xdp data path for tun driver which assumes packets are ethernet frames. This patch is avoiding the xdp data path in kernel by setting the sendbuf value < INT_MAX. Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ia4aa54b177b96d56a2d513d18d26ca01d5b88929
2020-07-06ip: set ip4 mask for ip_copy and ip_set when dealing with ip4 typejiangxiaoming1-2/+8
Type: fix Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: I3ace7dfe3ddacb4f7fa7a974a2ffe2b3cf902ff9
2020-07-06fib: fix debug preprocessor directivesMatthew Smith4-4/+4
Type: fix Some debugging declarations were wrapped in an 'ifdef CLIB_DEBUG'. This seems to always evaluate true because clib.h defines CLIB_DEBUG to 0 if its not defined. The result is that if a route table is added and a route is added to it and then the table is deleted, VPP exits because the debug function fib_table_assert_empty() gets called whether VPP was started using a debug build or a release build. Change the ifdef to 'if CLIB_DEBUG > 0'. Change-Id: I357dc2c299e81b95244f2f7efaadb8e0de27627a Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-07-02tcp: fix coverity warningFlorin Coras1-2/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I60828bc084b9adbb925c306d26060412c410c516
2020-07-02tcp: cli to dump half-open connectionsFlorin Coras1-0/+104
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idf7e483de0afc95a7579145fb16689e1853b10f9
2020-07-02tap: fix dump for TUN interfacesMohsin Kazmi2-1/+5
Type: fix Change-Id: I3bcc8ff1cf0a828ce3ba112694d38e3287d38d8d Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-07-02ip: fix the order in ip4 punt redirectMohsin Kazmi1-2/+2
Type: fix Fixes: a84cb715f5a4366dd2f32de18ad92bec566924da Change-Id: Id448d6ae9cfdd3122e8187121c509412835117c5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-30classify: fix debug CLIDave Barach1-1/+5
unformat_ip6_mask wasn't accounting for customized field names when deciding if it managed to parse at least one field. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I26cab4c6828b510e277079628af5115ac43af3ff
2020-06-30tcp: avoid rcv wnd more than RX fifo can enqueueRyujiro Shibuya1-7/+6
Type: fix Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie358b731f8ecb1fcaebd6e79f5ce5c10802c2814
2020-06-29gso: fix the l2 pathMohsin Kazmi1-8/+10
Type: fix Change-Id: I4f91175444dec9800d651aa5a5e0472359de63d1 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-27udp: align udp_encap_t_ to 2 cachelinesVadym Martsynovskyy1-4/+4
Based on the comments in the struct, udp_encap_t_ is meant to span 2 cachelines. Due to the 64 bit alignment of dpo_id_t, the struct spanned 3 cachelines. This caused fetching ue_ip_proto to trigger an additional cache miss. This patch rearranges the ordering of the struct fields so that udp_encap_t_ only spans 2 cachelines as intended. before: (gdb) print (int)&((struct udp_encap_t_*)0)->cacheline1 $8 = 128 after: (gdb) print (int)&((struct udp_encap_t_*)0)->cacheline1 $1 = 64 Type: fix Signed-off-by: Vadym Martsynovskyy <vmartsyn@fb.com> Change-Id: I066c08654d4a8ef3e2d3954e957d4c5d382b209f
2020-06-27sr: fix for SID index across segment lists within a sr policyChinmaya Agarwal1-1/+1
Type: fix Signed-off-by: Chinmaya Agarwal <chinmaya.agarwal@hsc.com> Change-Id: I9aa5456bf94356e8702fbfd39b14db4c2e74d3e6
2020-06-27l2: performance enhancement in l2inputZhiyong Yang1-80/+69
Short Load/Stores combined with prefetching in the beginning of the loop place too much pressure on AGUs and memory accesses. The patch interleaves load/store operations with computational operations to alleviate the pain point. vlib_get_buffers is also leveraged. Redefine u8 dst_and_src[12] instead of dst[6] and src[6] in struct l2input_trace_t in order to merge two copys into one. Type: improvement Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com> Change-Id: I7d3df7732c476069235e3019c68f0f53bca9637e
2020-06-27flow: add IPSec ESP/AH flowChenmin Sun2-1/+43
This patch adds the IPSec ESP/AH type flow support Have tested on E810 with Intel iAVF driver Type: feature Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I6ab8e69f67c423cc4e33f3c363881a97cdb98c30
2020-06-27virtio: add tx traceMohsin Kazmi1-2/+60
Type: improvement Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I0b1a1ce085ceb75fe139092e40878566682a7986
2020-06-27tap: remove the bridge configurations for TUN interfaceMohsin Kazmi1-9/+10
Type: fix Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ifeae641ec0aa7de74e33e582234505bf6e28ca87
2020-06-26ip: fix the punt redirect for ip4Mohsin Kazmi1-6/+9
Type: fix Change-Id: I39341f201209931392f315ead5adfddd8b567caf Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-24virtio: fix the vlib buffer flagsMohsin Kazmi1-2/+1
Type: fix Change-Id: I92e8e30e4175229e24dd92471016e9095b5cc83e Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-23udp: jump over ip4 optionsFlorin Coras1-3/+3
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4f57a776302e11815fcea433ba8cf6724799ff65
2020-06-23ip6-nd: punt neighbor advertisementsAlexander Chernavin1-1/+1
With this change, punt received neighbor advertisements instead of drop in order to give other elements of the system an opportunity to handle them. Type: improvement Change-Id: Ie6cde9eebc83e42029967141cb32ebc459fd3680 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2020-06-17docs: add more FEATURE.yaml documentationDave Barach1-0/+15
This patch documents the DNS plugin, vlib packet tracing, vnet feature arcs, and the vppinfra library. Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Idb16ec0593d428ce78fe8404374a823a56b4b420
2020-06-17ip-neighbor: fix MLD hash key using stack pointerBenoît Ganne1-2/+2
Use pointed value (ipv6 address) as hash key instead of pointer value (pointer to ipv6 address on the stack). Type: fix Change-Id: I74a8b6d4bb552b5b344bcb50c8e830700c4ce739 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-06-16interface: add minimal vpp pkt trace for error-dropDave Barach2-8/+125
Provide a minimal trace [ip4/ip6 src/dst address] for dropped pkts when the user specifies "trace add error-drop XXXX", but does not trace pkts from the original input node. This is a wireshark dissector problem. Packets thrown at error-drop may be well-formed, or not. VPP must not crash, no matter what. The minimal trace capture and decode could be enhanced. Anyone interested in doing that must consider all of the corner-cases involved. This version should be at least somewhat useful. Note that "pcap trace drop ..." - and the packet generator - seem like the right tools to use when researching more complex issues. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I961ca133980ffa2a1e5707879a443b21442ed894
2020-06-16virtio: add vhost sw_if_index filter for sw_interface_vhost_user_dumpSteven Luong2-3/+6
The filter sw_if_index was in the API sw_interface_vhost_user_dump. But it was never implemented in the backend. This patch is to add the backend, vat, and custom dump support for the filter. Type: feature Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Iaa41a7e11bfbcbb4c60092375e4b0dcf0950077b
2020-06-16gso: fix the udp checksum in testMohsin Kazmi2-13/+8
Type: fix Change-Id: I7005e4763e73f3679c40f94bdab26d439cd23188 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-15vxlan: remove judgement with always trueZhiyong Yang1-27/+15
if ((A | B) == false) it means both A and B are false, so for the following code if (PREDICT_FALSE (!good_udp1)) { if ((flags1 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0) { ... } } if ((flags1 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0) is always true if the code run it. Remove it. Type: improvement Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com> Change-Id: I6bd1e9340c7a00089fc1c9ae49773add832d309e
2020-06-12virtio: interface type based improvementsMohsin Kazmi3-75/+142
Type: improvement Change-Id: I220ea6ab609e3c1628f5210be441d0d5e825a32c Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-12ip: allocate ip4 mtrie pages in htlb memoryDave Barach3-2/+48
No change in default behavior. To use htlb pages for the ip4 mtrie, use the "ip" command-line option "mtrie-hugetlb". Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I5497e426a47200edff2c7e15563ed6a42af12e7f