aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-12-23vcl: fix multi-thread app segment attachingFlorin Coras1-32/+27
Type: fix Guard segment attaching/deletion, not only the hash table CRD operations. Change-Id: Ic96e4adedffb73baf89e971438596927e6daf930 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-23tests: vpp_memif fix formatting error in exceptionPaul Vinciguerra1-5/+2
Type: test Change-Id: I2d32797efd1c3478a862b7950ef9ab63428da890 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-22fib: use 32 bits per-source reference counterMiklos Tirpak2-2/+2
The 16 bits reference counter limited the number of interfaces per FIB table to 65K from a given source. Some use cases, for example GTP-U tunnels require much more interfaces than that. This change increases the size of the reference counter to 32 bits. Type: fix Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com> Change-Id: I944a98513018840f904f2808c2a1e963b37886cc
2019-12-22ip-neighbor: fix API initialization callMatthew Smith1-1/+1
Type: fix Fixes: cbe25aab3b Wrap ip_neighbor_api_init() in VLIB_API_INIT_FUNCTION() macro instead of VLIB_INIT_FUNCTION() so API message IDs get allocated. Change-Id: Id0c36c16b982feb9d7442015f9ddf2449a9e5b60 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-12-21session: move add/del segment msg to mqFlorin Coras13-207/+354
Type: refactor Change-Id: I32234173ebd69f80acb1afa4039fffbd19157f6d Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-20svm: fix multichunk alloc with not enough spaceFlorin Coras1-2/+32
Type: fix Change-Id: Ia89c76b0e897fc3a3ebbc8dcba25e8ac9974b7fa Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-20vxlan: reuse inner packet flow hash for tunnel outer header load balanceShawn Ji4-0/+31
Type: fix Several tunnels encapsulation use udp as outer header and udp src port is set by inner header flow hash, such as gtpu, geneve, vxlan, vxlan-gbd Since flow hash of inner header is already been calculated, keeping it to vnet_buffere[b]->ip.flow_hash should save load-balance node work to select ECMP uplinks. Change-Id: I0e4e2b27178f4fcc5785e221d6d1f3e8747d0d59 Signed-off-by: Shawn Ji <xiaji@tethrnet.com>
2019-12-20svm: fix sh ssvm size for private segmentsFlorin Coras2-11/+10
Type: fix Change-Id: Id11cb596923541c12d37f1afa00416d73c6ff5e3 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-19hsa: Add periodic timingNathan Skrzypczak3-18/+71
Type: feature Change-Id: I18cf38d6f77e0d42212c85262f3bb769b9477b29 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-19interface: Prevent bad inner-dot1q any exact-match configurationJon Loeliger2-3/+13
Someone much more knowledgeable than I wrote: For L3 IP forwarding, any VLAN tags on a packet must be exact match to a sub-interface which means both outer and inner VLAN tag IDs must be exact-matched to specific values defined of that sub-interface. Without exact match on a L3 sub-interface, VPP has no mechanism to know what VLAN tags to use for packet output, such as ARP request packets or IP packets, on that sub-interface. Thus, sub-interface with "inner-dot1q any" is not an exact match sub-interface by definition since no match is present on inner tag. While in the area, fix a memory leak that would ensue on poorly configured interfaces. Change-Id: I8d17a96dbca3e3724c297ecc935ca61764e6ce2e Type: fix Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-12-19gtpu: Track the dst FIB entry instead of RR sourcing thatMiklos Tirpak1-9/+9
RR sourcing the destination FIB entry limits the number of tunnels to 255 for a particular destination. This change removes this limit. Type: fix The patch is based on 1f50bf8fc57ebf78f9056185a342493be460a847 that introduced the FIB entry tracking but did not update the gtpu plugin. Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com> Change-Id: I8a4a87382a6eb5120e2bb65b9bc3c446bbfdbd3b
2019-12-19session: reserve memory for rbtreeFlorin Coras2-4/+44
Type: fix Change-Id: I2b89f6e4c09297e3712d88cd25c80a806d3005aa Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-19papi: lazily initialize stats clientPaul Vinciguerra1-5/+25
remove wait-loop on stats socket from test framework. Type: refactor Change-Id: I5bb95a7c597707a87f9d9a471215c4b4af1a2280 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-19gre: multipoint ingress lookup fixNeale Ranns6-75/+286
Type: fix Change-Id: I170edd62220a63cb19efea3032e173fb87730b1b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-19quic: fix accept failureNathan Skrzypczak1-23/+23
Type: fix Change-Id: Ic85cedae268a3abc452a2b1d4cc6672a464e2d2c Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-18quic: Hotfix crypto context on migrateNathan Skrzypczak1-0/+17
Type: fix quicly_connections have internal references to crypto contexts which need to be updated when we switch thread as the supporting pools are thread-based. This under the assumption that the new contexts will be exactly identical Change-Id: I38083e59657ff068e347d9e7b47abe91a1167b6c Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-18svm: decrease svm map verbosityFlorin Coras1-1/+1
Type: fix Change-Id: I833b6c23c376f1e806f94f0780be365c82ad1f88 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-18ipsec: Fix decap of IPSEC/GRE in transport modeNeale Ranns1-6/+44
Type: fix in transport mode the header sequence is: MAC - IP (tun) - ESP - GRE - L2 so popping the GRE header is done in the ESP decrypt node. Change-Id: Ia125eb65b9300368617d2bffca09683851e43be0 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17srv6-mobileTetsuya Murakami3-114/+459
Type: fix Plug-in for IPv6 Segment Routing Mobile Fix the packet forwarding issue on GTP4/6.D when configuring only 1 segment in SRH. Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com> Change-Id: I3a1d14b82821fc6e038d4ef719fd2aa006df2903 Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
2019-12-17misc: don't os_exit(1) causing core on SIGINTChristian E. Hopps1-1/+5
It's not typical for a program to core when it receives a SIGINT, so keep this from happening. Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I2c15985a57e6ea898ff05c4001e4b30b41154eba
2019-12-17pg: don't leak open files in packet-generatorChristian E. Hopps2-0/+4
Fix pg code to close it's open file descriptors before zero'ing the pcap_main structure for re-use. Ticket: VPP-1780 Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I32945c6476ae83b8d210ee67ac78db3e8f786f46
2019-12-17vpp: fix .short_help for "ip virtual"Paul Vinciguerra1-1/+1
Type: fix "# <feature-name>: <subject> Change-Id: I8b6b6b8c70faec7cd95e1842259e907fb9587017 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17dhcp: client use local loggerPaul Vinciguerra1-7/+6
Type: fix Change-Id: I8383e04d01e0001c1cba176d2148b2c4c74e397a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17vxlan geneve gtpu: fix short helpPaul Vinciguerra5-5/+5
Type: fix Change-Id: Id53eb6ed15f270d747b9831a7b585cbafe515dd2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17ip: cleanup punt socket cli helpPaul Vinciguerra1-11/+20
Make the help string consistent with the cli parser. Type: fix Change-Id: I7140bd589c2a94dbf5af5cc633cb495457a6af22 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17feature: add descriptive cli command output for 'set interface feature'Paul Vinciguerra1-7/+23
DBGvpp# set interface feature local0 arp-foo arc bad-arc set interface feature: Unknown arc name (bad-arc)... DBGvpp# set interface feature local0 arp-foo arc arp set interface feature: Feature (arp-foo) not registered to arc (arp)... See 'show features verbose' for valid feature/arc combinations. DBGvpp# set interface feature local0 arp-disabled arc arp Type: fix Change-Id: I036bb2a75dd2d40f6901e4fde3eb14925238e19b Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17feature: add [verbose] to show features helpPaul Vinciguerra1-1/+1
Type: fix Change-Id: Idf694477c18852e5541c28a493a56b302122e46c Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17vlib: add max-size configuration parameter for pmallocjieqiang wang1-0/+3
Enable 'max-size' configuration parameter to set maximum size of memory space allocated for pmalloc module. This parameter along with existing 'base-addr' falls into physmem section. Both are dedicated parameters to pmalloc module. Type: feature Change-Id: I939f25156b9a43440a24d69a7397d57eb6c2d392 Signed-off-by: Jieqiang Wang <Jieqiang.Wang@arm.com>
2019-12-17l2: l2_patch_main should not be staticVratko Polak1-1/+5
Without understanding what is going on, a pattern from l2_fwd.c is applied to l2_patch.c file. Type: fix Fixes: d770cfc96257f9bd9e0c96c8ebe50e4531dc1bc5 Ticket: VPP-1799 Change-Id: Ia97d448f9d1846549f57ea69044ae15fa39bb942 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-12-17vlib: fix startup-config-process stack overflowGordonNoonan1-0/+1
Type: fix Startup config setting an i40e/ice interface up in Debug VPP consumes more than the currently available stack space. Signed-off-by: GordonNoonan <gordon.noonan@intel.com> Change-Id: I98b52c5596799017b97f802a8661b76cd1bb3245
2019-12-17bonding: drop traffic on backup interface for active-backup modeSteven Luong1-1/+12
For active-backup mode, we transmit on one and only one interface. However, we might still receive traffic on the backup interface. We should drop them and strictly process incoming traffic on only the active interface. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Idb6b798b30033e84044b151c616be3c157329731
2019-12-17flow: add ethernet flowChenmin Sun3-4/+91
Type: feature This patch adds the ethernet type flow support Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I6de163d04c6472df60a5f296fb428efd000267c4
2019-12-17misc: address sanitizer: do not instrument dlmalloc internalsBenoît Ganne1-0/+4
Type: fix Change-Id: I2b8273666db864d80012c39623ae866ac3527426 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17vlib: fix an issue with show pciVratko Polak1-1/+1
The fix has been received over e-mail from Lijian Zhang. https://lists.fd.io/g/vpp-dev/message/14808 Type: fix Ticket: VPP-1805 Change-Id: I73e5fe7dcbe2b0b1c639d844f29183eab3b6dd66 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-12-17build: export vapi generation in vpp-devOliver Giles6-59/+96
Adds the higher-level vapi generation to cmake/api.cmake and exposes the necessary python scripts in vpp-dev, so that out-of-tree/downstream plugins can also leverage the more convenient API. Type: feature Signed-off-by: Oliver Giles <oliver_g@radwin.com> Change-Id: I8c40a14d27ba3cb972c6907632e03c0e7b0ce982
2019-12-17build: Allow to override build date with SOURCE_DATE_EPOCHBernhard M. Wiedemann1-3/+8
and make host and user overridable in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. Also switch to UTC to be independent of timezone. Also use ISO 8601 date format to be easier to parse. This is similar to c9f40227836b827b71a6cbc4744d4b7151b2fcef and df82ec8fe7d91467c8b479bba74c761c0a6ffc59 which was lost in the move away from automake. Note: This date call is designed to work with different flavors of date (GNU, BSD and others). If only GNU (Linux) support is needed, the patch can be simplified. This PR was done while working on reproducible builds for openSUSE. Type: fix Change-Id: If4cab12320e6b5fcb1f2842fac5d745b33b01ed7 Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
2019-12-17vlib: fix vector-as-C-string overflowBenoît Ganne2-3/+3
Type: fix Change-Id: If0419ff1a82d45e5b3326973008e1b9feb290c5a Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17misc: address sanitizer: fix instrumentationBenoît Ganne3-1/+12
Type: fix Change-Id: I99e3951f8cfb7ab9d2f0a7dcee92199eab29043c Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17classify: forbid invalid match configBenoît Ganne1-0/+3
Forbid too long match to be configured. Type: fix Change-Id: Icfced0f86821d5febd6a3c81e1315bd9737498c0 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17ipsec: bind an SA to a workerNeale Ranns11-43/+644
the sequence number increment and the anti-replay window checks must be atomic. Given the vector nature of VPP we can't simply use atomic increments for sequence numbers, since a vector on thread 1 with lower sequence numbers could be 'overtaken' by packets on thread 2 with higher sequence numbers. The anti-replay logic requires a critical section, not just atomics, and we don't want that. So when the SA see the first packet it is bound to that worker all subsequent packets, that arrive on a different worker, are subject to a handoff. Type: feature Change-Id: Ia20a8645fb50622ea6235ab015a537f033d531a4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17dpdk: add devargs supportChenmin Sun4-12/+34
Type: feature This patch adds the devargs support for dpdk device The devargs are used as hardware-specific init args for dpdk devices please refer to the nic guides under $(DPDK_DIR)/doc/guides/nics/$(NIC_DRIVER).rst Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Id380d04720090bb66afe5ce09d664e5e248b8eb9
2019-12-17vppinfra: fix cpu flag string overflowBenoît Ganne1-7/+5
Type: fix Change-Id: Idb1fff8a172034044bb33d5b271a84d1fd672ef5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17perfmon: fix per-worker data initializationBenoît Ganne2-9/+14
When perfmon_init is called at initialization time worker threads are not created yet and vec_len(vlib_mains) returns 1. Initialize per-worker data when the number of workers is known, when enabling data collection instead. Type: fix Change-Id: I36887cc7b2a3e88d9728d3cd7262d9b1c968dd3c Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17nhrp: mGREv6Neale Ranns1-4/+5
Type: test Change-Id: I7d0496c37e06d3b6eee325a262e5398860282b63 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17l2: fix l2input_feat_names overflowBenoît Ganne1-1/+1
Type: fix Change-Id: I59549b3aab5a0ccfe7db02757f78528e028121a5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17virtio: fix the tx queue thread bindingMohsin Kazmi1-3/+17
Type: fix Change-Id: Ibbe7e20aebc9153ceba07e048dc0eaa45193f4ea Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-12-17quic: Implement crypto contextsNathan Skrzypczak4-77/+242
Type: feature Make quic use the crypto contexts. This introduces a crypto context pool backed by a hashtable giving ctx indexes by connect params (ckpair, engine, rx & tx fifo sizes). Applications keep the initialization vector common. Change-Id: I22ed6711196cd70a2f2f74240f12113c7af8dfcd Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-17gso: minor fixes to gso segmentationMohsin Kazmi1-110/+115
Type: fix Change-Id: I01602ba7f1a4820c7790a771a5a7281ed66ff905 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-12-17ip: Protocol Independent IP NeighborsNeale Ranns109-13299/+12825
Type: feature - ip-neighbour: generic neighbour handling; APIs, DBs, event handling, aging - arp: ARP protocol implementation - ip6-nd; IPv6 neighbor discovery implementation; separate ND, MLD, RA - ip6-link; manage link-local addresses - l2-arp-term; events separated from IP neighbours, since they are not the same. vnet retains just enough education to perform ND/ARP packet construction. arp and ip6-nd to be moved to plugins soon. Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17vcl: RX event may lost when accept session repeatedlywanghanlin1-1/+1
Type: fix Some applications may call accept repeatedly to process all connect request until get EAGIAIN error. Subsequent call may get RX event of previous accepted session, then should process it rather than just discard it. Signed-off-by: wanghanlin <wanghanlin@corp.netease.com> Change-Id: Ice53442de66289a62591b79a9cc31e883e894c23