summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-06-24session: full lock on session_send_evt_to_threadNathan Skrzypczak2-12/+4
Type: fix This was causing issues in QUIC when an app client & the protocol app compete for the worker msg_queue. Might not be ideal performance- wise. Change-Id: I629892253d5b5d968f31ad1d56f18463e143d6b4 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-24vlib: packet tracer support for pkt thread handoffsDave Barach14-54/+731
Type: feature Change-Id: Ia3d9a47679202c2a47cd3746b50e86c6b8627ef6 Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-24api: implement ipfix_flushPaul Vinciguerra2-3/+38
-Migrate tests to api and cleanup: '# FIXME this should be an API call' in tests. Type: feature Change-Id: I715f9f8acc0f2af9c974ea221b2aea46692a6218 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-22lacp: convert clib_warning to event loggerSteven Luong4-20/+78
Replace clib_warning with event logger. The messages for the latter are stored in the event buffers which can be viewed with debug CLI anytime. Type: fix Change-Id: I5ede4d1f1f9f0ab8d66394f49383fc1838d397ae Signed-off-by: Steven Luong <sluong@cisco.com>
2019-06-21vppinfra: add u64x2_gather/u32x4_gatherLijian.Zhang1-0/+18
Add u64x2_gather/u32x4_gather in vector_neon.h. u64x2_gather/u32x4_gather gathers data from scattered memory locations to a SIMD register. Type: feature Change-Id: I1dd27e38af28b9bed85143014c86197ee549fede Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2019-06-21tcp: add option to pass opaque to next nodeFlorin Coras3-3/+12
Type:feature Change-Id: I0b72954a6ae6a05abe0761cb4f227072863f127b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-20vppapigen: allow negative number in NUM tokenOle Troan1-1/+1
Change-Id: I964cb44f8604187390009dcef7dd766b3804c3ca Type: make Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-20interface: fix the incorrect sizes/offsets in the tso segmentationAndrew Yourtchenko1-2/+2
The copying of the first segment copied too small amount of data. The copying of the second and subsequent segments used the wrong data offset - for the case of GSO enabled it starts from 12 bytes earlier. Change-Id: I3adc532c175babc1ca1e121c7e12e6cafbdb9974 Type: fix Ticket: VPP-1700 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-06-20ipsec: add ipsec api custom-dump routinesDave Barach1-1/+157
Type: feature Change-Id: I637ca85bb0c5c3e9704e242747b1174bfcd74e02 Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-20quic: remove session flags identifying Q/S sessionsNathan Skrzypczak4-12/+10
Type: refactor Change-Id: Id68c5ae6d57df0fc556bbf583a66e538e641ffb1 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-20vat: vec_free/errmsh copy paste errorOle Troan1-2/+1
Change-Id: I808ae95666b82f04979b57cfe237a8f83bb68264 Type: fix Fixes: 283cd2e9af Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-20misc: papi - add __repr__ to FuncWrapperPaul Vinciguerra1-0/+3
Eases troubleshooting. Changes: <FuncWrapper object at 0x7fa7402de790> to <FuncWrapper(func=<want_ip6_ra_events(u16 _vl_msg_id, u32 client_index, u32 context, u8 enable_disable, u32 pid)>)> Type: refactor Change-Id: I3a893090e024a63a0b3b0de51cb3bb2d2a1678c5 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-20api: fix return code in vxlan_gbp_tunnel_add_delPaul Vinciguerra1-1/+1
Return VNET_API_ERROR_INVALID_VALUE intead of 1. Type: fix Change-Id: Ie5465cad9ca07b9147306a808e8b13d0c4867913 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-20tap: fix the total length of packet for stats byteMohsin Kazmi1-3/+3
Type: fix Fixes: 8389fb9 Change-Id: I31076db78507736631609146d4cca28597aca704 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-06-20tap: add support to configure tap interface host MTU sizeMohsin Kazmi10-3/+101
This patch adds support to configure host mtu size using api, cli or startup.conf. Type: feature Change-Id: I8ab087d82dbe7dedc498825c1a3ea3fcb2cce030 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-06-20buffers: fix crashKlement Sekera3-3/+101
this change is being made to fix a crash when current_data < 0 in buffer linearization function Ticket: N/A Type: fix Fixes: f883f6a1132ad4bb7aa9d9a79d420274fbcf3b64 Change-Id: Ia4ede823f673780e0c30d075b091db42e183650d Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-06-19vppinfra: fix rbtree node deleteFlorin Coras2-4/+12
Type:fix Make sure tnil color is black and that the right node colors are updated. Change-Id: Ibd9d7ea9438df4dab977202955957824723a865d Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-19gbp: Add support for arp unicast forward in gbp bridge domainMohsin Kazmi1-1/+8
Type: feature Change-Id: Id487fe46194d0a89bd5ac53a9f4ff78b5ff6de60 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-06-19l2: BD ARP termination entry API updateNeale Ranns4-51/+53
Type: refactor Change-Id: I492b6e88acadf0ab0e4d7b1c0c5d1cab84c1726f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-19api: fix typos in api error descriptionsPaul Vinciguerra1-7/+7
Type: style Change-Id: I81c281c7277dbaea499f3072e01e7f59bf646825 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-19ipsec: fix l2 header handling in ah encryptKlement Sekera1-6/+6
Use proper length for copying l2 layer in ah encrypt code. Previously code assumed that there is alywas just one ethernet header preceding IP header, which might not be true always. Change-Id: I176fd93b25cf1b9d9c2dc4e420ad48a94d5f4fb8 Ticket: VPP-1539 Type: fix Fixes: N/A Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-06-19interface: Fix the tso segmentationMohsin Kazmi1-10/+9
ASSERT (b[0]->current_length > 0) fails in single loop of function vnet_interface_output_node_inline_gso. Under 'do_segmentation' condition, there are two places in code which execute "continue" in while-loop without incrementing the pointer to next buffer which is wrong behavior. In fact, at one place, current buffer is also freed. In which case, during next iteration buffer ptr still points to free buffer which current length is 0 and triggers the above assert. Type: fix Change-Id: Ic9d540748c1d00a54e18acc2b0f23730728d7460 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-06-19mpls: fix header offset overflowBenoît Ganne1-3/+6
rw_len (MPLS rewrite string length) is declared as unsigned but is used as -rw_len with vlib_buffer_advance(), resulting in a wrong, huge offset. Type: fix Fixes: 734d430f37251bc7e71d507983ee640ae1625fbe Ticket: VPP-1705 Change-Id: I7357249f7e50b7d30fd61f5be4858a26e43df85d Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-06-19session: call session_dequeue_notify after svm_fifo_dequeue_dropVladimir Kropylev1-1/+4
Type: fix dequeue_notify callback at app-layer needs to know available space in fifo, so, session_dequeue_notify should be called after svm_fifo_dequeue_drop Change-Id: I136675d29ec32bea9b33a05deb6710f72ce8d5b1 Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
2019-06-18tcp: allow custom output next nodeFlorin Coras2-0/+4
Type: feature Change-Id: If9804d3685d2a52efa06e412ae1ebb39c6a44b8b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-18session: fix memory out of bound issueLijian.Zhang2-1/+9
Ring data space is following ring vec_header_t and ring elements immediately. Add verification code in session_test. Type: fix Change-Id: I0bfa096a9f459128a588821d99b5cdb4f10ede38 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
2019-06-18vppinfra: rbtree custom insert/search/delFlorin Coras2-24/+99
Type: feature Add support for insert/search/del with custom compare function. Change-Id: Ibb740afc224d8adc29d3e1b51b46cdd738d1bd93 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-18ipsec: ipsec-tun protectNeale Ranns39-1995/+1655
please consult the new tunnel proposal at: https://wiki.fd.io/view/VPP/IPSec Type: feature Change-Id: I52857fc92ae068b85f59be08bdbea1bd5932e291 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-18fib: fib api updatesNeale Ranns60-3109/+2990
Enhance the route add/del APIs to take a set of paths rather than just one. Most unicast routing protocols calcualte all the available paths in one run of the algorithm so updating all the paths at once is beneficial for the client. two knobs control the behaviour: is_multipath - if set the the set of paths passed will be added to those that already exist, otherwise the set will replace them. is_add - add or remove the set is_add=0, is_multipath=1 and an empty set, results in deleting the route. It is also considerably faster to add multiple paths at once, than one at a time: vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.11 100000 routes in .572240 secs, 174751.80 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.12 100000 routes in .528383 secs, 189256.54 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.13 100000 routes in .757131 secs, 132077.52 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.14 100000 routes in .878317 secs, 113854.12 routes/sec vat# ip_route_add_del 1.1.1.1/32 count 100000 multipath via 10.10.10.11 via 10.10.10.12 via 10.10.10.13 via 10.10.10.14 100000 routes in .900212 secs, 111084.93 routes/sec Change-Id: I416b93f7684745099c1adb0b33edac58c9339c1a Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-18stats: off by one error in /sys/node/{calls,clocks,...}Ole Troan1-4/+4
Fixes: 58492a8372 Change-Id: Ia2eeebc2488b57e57f8d5e52f9948d1cced7b6fc Type: fix Ticket: VPP-1698 Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-18stats: fix memory leakage when adding / deleting interfacesOle Troan6-20/+76
This fixes two leaks in registering errors in the stats segment. - The error name created by vlib_register_errors() was not freed. - Duplicate error names (when interface readded) was added to the vector. This fix also adds memory usage statistics for the statistics segment as /mem/statseg/{used, total} Change-Id: Ife98d5fc5baef5bdae426a5a1eef428af2b9ab8a Type: fix Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-18misc: vpp_papi- add tests, clean up pep8Paul Vinciguerra7-18/+202
Type: test Change-Id: Ic81bd4a9eba3c89a746e7a9b9e471b59cd87fa40 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-18api: string type to convert to vectorOle Troan12-71/+105
Previous use of strndup() required user to remember to call free(). Now return a vector pointing directly to the API message string. Of course user must remember to copy the string out if lifetime is longer than API message lifetime. Change-Id: Ib5e2b3d52d258e1a42ea9ea9a9e04abbe360e2bf Type: fix Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-18dpdk: check result of rte_mempool_create_emptyLijian.Zhang1-0/+15
Check the returned pointer, report error and return in case of failure. This avoids crashing without any useful clues or debug messages. Type: fix Change-Id: I15d0735a531c2d9a8b6f67b7d6fe326b98c963c3 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2019-06-18quic: fix handling of stream reset & closeNathan Skrzypczak2-36/+65
Type: refactor Change-Id: I4981704e3c886d90d482a1deba42633e92626743 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-18ip: reassembly-separate feature and custom codeKlement Sekera3-64/+67
This change is made fix a crash, because is_feature flag semantics turn out to be different from "custom app code" semantics. Introduce a flag which custom plugins/apps can use to instead of tying that code to is_feature flag. Change-Id: Ief5898711e68529f9306cfac54c4dc9b3650f9e3 Ticket: N/A Type: fix Fixes: 21aa8f1022590b8b5caf819b4bbd485de0f1dfe5 Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-18vppinfra: add format_hex_bytes_no_wrapDamjan Marion3-5/+22
Type: feature Change-Id: I53e1f05b2b048925fca3b2f6b0499ff9c3e6ee12 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-18avf: fix adminq enqueue errorsDamjan Marion2-5/+9
Type: fix Fixes: b4ff07a Change-Id: I2578ae3e093961fa8765568b5fedcf75ae9487f6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-18avf: add logging macros and improve loggingDamjan Marion3-13/+134
Type: feature Change-Id: I3d7009505ddbb2c41d8619d9195c6a5373fa9a04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-17ip: consolidate IPv6 link-local-address functions.Jon Loeliger2-18/+1
Two codes diverged in the packet processor And sorry I could not use them both Long I stood being but one developer And studied one as far as I could To where the code said bitwise OR Then took the other, as just could see, And having perhaps the better bit, Because it followed the RFC And used the cryptic XOR in C, Had run them both a fair bit. And both equally ran that morning With packets dropped and flowing. Oh, I flagged the first for dropping! Yet knowing bug leads to debuging I hoped I'd never be returning. I shall be commiting this with a sigh Somewhere ages and ages hence: Two codes diverged by a bit, and I, I made the packets flow on by, And that has made all the difference. Type: fix Change-Id: If2698726d5501fde76211994f8efc37119345352 Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-06-17ipsec: One DPO per SANeale Ranns5-24/+16
An SA can be used only for ESP or AH nver both, so it needs only one coresponding DPO. Type: refactor Change-Id: I689060f795ee352245a0eaed0890a6b234c63d71 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-17ipsec: return original SA create error for tunnel createNeale Ranns1-2/+2
rather than SRC/DST address error which is not so helpfull Type: fix Fixes: af3f0783 Change-Id: Ie2143e4e29de87d93e79bd96284c041bdbffd98e Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-17session: use listener_handle instead of listener_indexNathan Skrzypczak14-42/+32
Type: refactor Change-Id: I97fa59a0ba0b6b7a98698926020ffffcf6ae6ba3 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-17misc: vpp-api - add __repr__ to VPPApiClient.Paul Vinciguerra1-0/+13
Show the constructor of the object instead of the memory location. api client: <VPPApiClient apifiles=None, testmode=False, async_thread=True, logger=<logging.Logger object at 0x7f35d1bd2590>, read_timeout=1, use_socket=False, server_address='/tmp/vpp-unittest-TestGbpApi-pOKbWg/api.sock'> vs. api client: <vpp_papi.vpp_papi.VPPApiClient object at 0x7fa0003df750> Type: feature Change-Id: I1460d76f6796776dd525c0844e9e426ec2d52398 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-16vlib: add "memory-trace stats-segment"Dave Barach6-61/+199
Type: feature Change-Id: Ie020fd7e2618284a63efbeb9895068f27c0fb9ab Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-14api: add mp-safe/barrier-sync indication to elogsDave Barach2-6/+18
Costs nothing, and leaves nothing to the imagination. Type: fix Change-Id: I7c9f9fb9325475c268eca062da7bbbf014438cfc Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-14ipsec: Display user specified SPI ID not VPP's indexNeale Ranns1-1/+3
Type: fix Fixes: 8d7c502002 Change-Id: Ia6de250f20200c17937d9d7b2aab17ccd81d7823 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-14avf: update known issues section in README.mdDamjan Marion1-5/+1
Type: docs Change-Id: I09f6984b74ebb7ee743881b4ad496618542eeaa5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-14g2: clean up compile/link errorsDave Barach3-35/+33
Many missing "extern" declarations, it's hard to imagine why the related compile/link errors just showed up. Type: fix Change-Id: I0878bf5fdb10ffdd8e0c49c9e5153cddaf3bc1fd Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-14vppinfra: optimize elog_stringDave Barach2-5/+31
Add a string hash to make sure that strings in the string table are unique. This optimization has been coded piecemeal in multiple places, we should have made the underlying function do the work years ago. Type: fix Change-Id: I5010fd4926b9b80ce3a168748f6de64e333ef498 Signed-off-by: Dave Barach <dave@barachs.net>