summaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2018-10-01Support dynamic dual/quad loop selection on aarch64Lijian Zhang1-0/+140
Currently, there are three variants available on aarch64, qdf24xx, thunderx2t99, and cortex-a72. -DCLIB_N_PREFETCHES is passed to source code to select dual/quad implementation. Besides, different compiler options are applied on these critical functions. gcc-7.3.0 reports ICE(internal compiler error) with -mtune=thunderx2t99, so -mtune=thunderx2t99 is enabled only when gcc version is greater than 7.3.0 Cavium ThunderX2, Impermenter 0x43, Part 0x0af -march=armv8-a+crc+crypto -mtune=thunderx2t99 Qualcomm Centriq 2400, Impermenter 0x51, Part 0xc00 -march=armv8.1-a+crc+crypto -mtune=qdf24xx Cortex-A72, Impermenter 0x41, Part 0xd08 -march=armv8-a+crc+crypto -mtune=cortex-a72 Change-Id: Id5649c6325c1e642d0fd42535e3908793b13e02a 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>
2018-09-29session: lock msg queues while generating control eventsFlorin Coras2-13/+10
Change-Id: I229ce9c306a97956c87ccb8f7a1c5c9dac94ab31 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-28bond: tx performance enhancement part deuxSteven3-124/+106
- Reduce per packet cost by buffering the output packet buffer indexes in the queue and process the queue outside the packet processing loop. - Move unnecessary variable initialization outside of the while loop. - There is no need to save the old interface if tracing is not enabled. Test result for 256 bytes packet comparison. Other packet size shows similar improvement. With the patch -------------- BondEthernet0-output active 52836 13526016 0 1.71e1 256.00 BondEthernet0-tx active 52836 13526016 0 2.68e1 256.00 TenGigabitEthernet6/0/0-output active 52836 6762896 0 9.17e0 127.99 TenGigabitEthernet6/0/0-tx active 52836 6762896 0 6.97e1 127.99 TenGigabitEthernet6/0/1-output active 52836 6763120 0 9.40e0 128.00 TenGigabitEthernet6/0/1-tx active 52836 6763120 0 7.00e1 128.00 bond-input active 52836 13526016 0 1.76e1 256.00 Without the patch ----------------- BondEthernet0-output active 60858 15579648 0 1.73e1 256.00 BondEthernet0-tx active 60858 15579648 0 2.94e1 256.00 TenGigabitEthernet6/0/0-output active 60858 7789626 0 9.29e0 127.99 TenGigabitEthernet6/0/0-tx active 60858 7789626 0 7.01e1 127.99 TenGigabitEthernet6/0/1-output active 60858 7790022 0 9.31e0 128.00 TenGigabitEthernet6/0/1-tx active 60858 7790022 0 7.10e1 128.00 bond-input active 60858 15579648 0 1.77e1 256.00 Change-Id: Ib6d73a63ceeaa2f1397ceaf4c5391c57fd865b04 Signed-off-by: Steven <sluong@cisco.com>
2018-09-28IP ttl check in ip4-input missing for single packet path.Ole Troan1-0/+3
Change-Id: Idc17b2f8794d37cd3242a97395ab56bd633ca575 Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-28stats: Split stat_segment and stats code in preparation for deprecation.Ole Troan1-1/+0
Split the stat_segment.c code from stats.c. Rename stats.[ch] to prepare for removing (19.01?) In addition stats.api can be removed. Since the stats aggregation for the stat segment does not use the API, that part is now done on the main thread. (Old stats aggregator is also left in place). Change-Id: I9867429f4fc547b1a7ab7f88bc4f3625428d681b Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27tcp: use scaled window for new connectsFlorin Coras3-5/+12
Change-Id: Idf83fce8ca176e57b323e3741034e3223f1d195a Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-27SCTP: fix advanced debug outputMarco Varlese1-2/+2
Change-Id: Ied63ebaec8e19189f8b1ab2a7f6d7474c3f2ad6e Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-09-27IPIP and IPv6 fragmentationOle Troan8-287/+218
- Error where ICMPv6 error code doesn't reset VLIB_TX = -1 Leading to crash for ICMP generated on tunnelled packets - Missed setting VNET_BUFFER_F_LOCALLY_ORIGINATED, so IP in IPv6 packets never got fragmented. - Add support for fragmentation of buffer chains. - Remove support for inner fragmentation in frag code itself. Change-Id: If9a97301b7e35ca97ffa5c0fada2b9e7e7dbfb27 Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-26vnet: show interface rx-placement may display garbage charactersSteven1-1/+1
Before ------ DBGvpp# sh int rx-mode sh int rx-mode Thread 1 (vpp_wk_0^@): node vmxnet3-input: vmxnet3-0/b/0/0 queue 0 (polling) Thread 2 (vpp_wk_1^@): node vmxnet3-input: vmxnet3-0/13/0/0 queue 0 (polling) DBGvpp# After ----- DBGvpp# sh int rx-placement sh int rx-placement Thread 1 (vpp_wk_0): node vmxnet3-input: vmxnet3-0/b/0/0 queue 0 (polling) Thread 2 (vpp_wk_1): node vmxnet3-input: vmxnet3-0/13/0/0 queue 0 (polling) DBGvpp# Change-Id: I5910d502757054c3942fac9d20c5104e95fc6b56 Signed-off-by: Steven <sluong@cisco.com>
2018-09-26MPLS tunnel dump: use sw_if_index not tunnel_indexNeale Ranns4-16/+33
Change-Id: I6c0d5aec6ee96a0d40358f0e09a0901b22265063 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-26forget to assign spd_index to configKingwel Xie1-0/+2
Change-Id: I35dcb987edf11097f34a633ac36d87cecd12088f Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-09-26mismatch bi0 and b0 when finalizing ip reassembly.Kingwel Xie2-0/+2
bi0 always points to the first buffer in chain but b0 could be any fragment in a ip packet. It causes a vnet_feature_next function call to the wrong buffer and crashes sometime when there is >1 feature nodes under ip-unicast. The fix is simple, makes b0 and bi0 both pointed to the first buffer Change-Id: I7de36e68fb42b050fa63201abd98aeb6ba2e0cd3 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-09-26Modify return values of L2 bridge API handlersAlexander Chernavin2-1/+23
Change-Id: Ie6a6dde1fdc0e4fa8560682072a69876867a88d3 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2018-09-26bond: tx perf improvementsDamjan Marion4-220/+173
Change-Id: I0c3f2add35ad9fc11308b7a2a2c69ffd8472dd2e Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-26itf: dump interface rx-placementMohsin Kazmi2-1/+135
Change-Id: I7dd48c8a2c77f82a2c1aa8311b062f5f0bc4e3fd Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-25FIB: recusrive paths must lock the table to prevent its deletionNeale Ranns2-0/+9
Change-Id: I958bf057be751dc7b3a0d93080021b3addc405b7 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-25L2 BD: introduce a BD interface on which to send UU packetsNeale Ranns18-73/+468
Change-Id: I21ad6b04c19c8735d057174b1f260a59f2812241 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-25MPLS tunnel dump fixNeale Ranns3-4/+8
Change-Id: I9d3d5243841d5b888f079e3ea5dc1e2e8befd1dc Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-25dpdk: show pluggable info in 'show hardware'Damjan Marion2-19/+48
module: id SFP/SFP+/SFP28, compatibility: 40g_active_cable vendor: Amphenol, part NDCCGF-I202 revision: C, serial: APF1711202351C, date code: 170318 cable length: 2m Change-Id: Ife35607b4f078f7b56737fe066ad4cbd247a7504 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-25BIER; bi-dir to/from underlayNeale Ranns7-59/+110
set and check a special RX interface value as the packet enters and exits a BIER domain Change-Id: I5ff2f0e2d1b3ce0f3598b935f518fc11eb0896ee Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-25UDP-Encap: fix coverity found errorNeale Ranns1-0/+1
Change-Id: Idbe5f4d7f37dbe4dbf8d2679c3d816aeaed148d8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-25tcp: accept rst+ack in syn-rcvd stateFlorin Coras1-0/+2
Change-Id: I49da8be88dd033aae1b190e8e2163069ef480442 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-25tcp: add option to cfg max rx fifo sizeFlorin Coras3-10/+22
Change-Id: Icff3d688506e7658330db004c58bcfcac273fcec Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-25bond: crash when deleting bond interface [VPP-1427]Steven1-2/+5
After the slave interface is removed from bond, bond input node still receives traffic for the slave interface. We have to disable feature arc for the corresponding slave interface. Change-Id: I44e7001e6685e290b032c48147d02911a55d547b Signed-off-by: Steven <sluong@cisco.com>
2018-09-24ARP: don't use RPC for requests initiated from the main threadNeale Ranns2-114/+87
Change-Id: If833680149eb33db6adc836c5330f350042869f4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-24Network delay simulator pluginDave Barach1-0/+1
Change-Id: I4a70c7df8f0cb368a4e1cb16f30eeef5c6058c79 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-24Trivial: Clean up some typos.Paul Vinciguerra75-154/+154
Change-Id: I085615fde1f966490f30ed5d32017b8b088cfd59 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-21tcp: accept fin-ack in syn-rcvd stateFlorin Coras1-1/+3
Change-Id: Ibe57abc7d2a06be80146ce28edf4c60ecda991eb Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-20vhost: show vhost may display garbage after the interface nameSteven1-2/+3
DBGvpp# show vhost-user Virtio vhost-user interfaces Global: coalesce frames 32 time 1e-3 number of rx virtqueues in interrupt mode: 0 Interface: VirtualEthernet0/0/0�?x�D (ifindex 3) The fix is to use format_vnet_hw_if_index_name rather than hi->name. The former format the name with %v rather than %s Change-Id: If4d275e1eb249cf87b2d6b796b42f24769f9e3e3 Signed-off-by: Steven <sluong@cisco.com>
2018-09-20UDP-Encap: name counters for the stats segmentNeale Ranns8-211/+142
change the ADD api so that is returns the 'ID' that can be used by the client to read the stats from the stats segment and to delete the object. Previously a similar value used required to be chosen by the client, now VPP allocates one (like it does e.g. for interfaces) Change-Id: I563cf6092276eb990c52d5457c86e72546bcf69e Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-20SR-MPLS: MPLS table checks (VPP-1422)Neale Ranns1-0/+17
Change-Id: I397715ea8c1966f5ee61128f284d62d875c568e1 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-20session/svm: add want_tx_event flag to fifoFlorin Coras1-6/+7
Have applications use explicit flag to request events from vpp when it transmits from a full fifo. Change-Id: I687c8f050a066bd5ce739d880eaec1f286038d95 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-20Route counters in the stats segmentNeale Ranns9-81/+170
route ADD API changed to return the stats segment index to use to read the counters Change-Id: I2ef41e01eaa2f9cfaa49d9c88968897793825925 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-20vhost-user: Add disable feature support in apiMohsin Kazmi2-2/+16
Two flags to disable mergable rx buffers and indirect descriptors are added to api. Change-Id: Iba0ee9c48d19dfc3d3420a3fdaf44a1a1d325e99 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-19GRE: fix 4o6 and 6o4 adj stackingNeale Ranns4-20/+24
Change-Id: I13dc5eab8835c4f3b95906816d42dccfeee8b092 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-19L2-fib-dump: send 1 or 0 rather than flag valueNeale Ranns1-3/+3
Change-Id: I487b3b480347f60ffe3af4029adfb22b6700cea7 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-19session: improve close procedureFlorin Coras5-19/+48
Change-Id: I6201a044e70ab6a58db8212960c57edc77c41f96 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-18Fix documentation for SHG in bridge domainYichen Wang1-1/+1
Change-Id: If094971cf011d09fa0daf3ff393f490e584c1151 Signed-off-by: Yichen Wang <yicwang@cisco.com>
2018-09-15session: ensure detach is done with worker barrierFlorin Coras1-7/+12
Change-Id: I98a79f2c3b0268c414dd295c7ebfc561ce049d4b Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-15tls: use application interface apisFlorin Coras1-15/+23
This also exposes app to tls sessions. As a result "sh session verbose" will show for each tls session both the application's session (app to tls) and the tls session (tls to tcp). Change-Id: I1e65c63362ce58f314e762d7db78b44479e1e3a5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-14BIER API and load-balancing fixesNeale Ranns13-72/+257
Change-Id: Ibda19d786070c942c75016ab568c8361de2f24af Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-14Remove scaffoldingDave Barach2-14/+1
Change-Id: I4acebbf76556428bb45356c8e5b85c72a85a1656 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-14vlib: introduce user flags in vlib_frame_tDamjan Marion2-3/+3
Those flags have local significance and they can be used for sending hints to the next node. Change-Id: Ic2596ee81c64cd16f96344365370e8fcdc465354 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14Revert "L2-input: use vlib_buffer_enqueue_to_next"John Lo2-320/+242
The patch did not improve single input link performance and degrade performance with multiple input links. This reverts commit b1232555e91b286feab5667b5a22f29aa8e96626. Change-Id: Ib9336a2e0610088b9145a43cacbdadb52dabd522 Signed-off-by: John Lo <loj@cisco.com>
2018-09-14vcl: keep track of unexpected eventsFlorin Coras2-5/+4
If sessions are marked as blocking, events for other sessions received while waiting for the blocking sessions, are added to a pending list and processed later. Change-Id: Ia6c71006b1c2bcb78af708390da0cd436af397cc Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-14Fix memory leak in API/CLI to create/modify SR policiesJohn Lo4-0/+8
The segment list vector built by the API/CLI is not freed after SR policy creation or modification. Change-Id: If439005481cada6c6af7cb560fe7a4381dd49384 Signed-off-by: John Lo <loj@cisco.com>
2018-09-13L2-FWD: use vlib_buffer_enqueue_to_next and cache prefetch fixNeale Ranns4-201/+159
before: l2-fwd ... 1.72e1 256.00 after: l2-fwd ... 1.49e1 256.00 Change-Id: I24b29b799435776abc6e60df0dd0301b74aac99b Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12Trivial: Fix lisp flag labelPaul Vinciguerra1-1/+1
Change-Id: Ic5339169124edc8ea1f82ffcba7cde8b7f224e83 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-13IP-neighbor: add and delete internal APINeale Ranns6-58/+118
Change-Id: I4d1ab5ff0c8f0756e91bf63e045f88513bb7d039 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-13L2-input: use vlib_buffer_enqueue_to_nextNeale Ranns2-242/+320
use the same trick as l2-ouput to group the processing of packets on the same interface. Change-Id: Ib2a6a1b5f362372936197f5bb2fdd0fe9439226b Signed-off-by: Neale Ranns <nranns@cisco.com>