5172 Commits

Author SHA1 Message Date
jdenisco
390036e0d0 docs: Small changes to plugin, updated the requirements
Change-Id: I3c05a28991d01e726d4fa8580a720359a2d4ce91
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-11-06 17:44:18 +00:00
Neale Ranns
0f7af53e73 IGMP: Improved handling of (*,G) join and leave
Change-Id: I48a92035b58d83420eb3eed3f05a75ba283543c2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-06 17:43:26 +00:00
Filip Varga
3206bb15aa VPP-1481: fixed tlv length checking & added tests
Change-Id: I9375bca5f5136c84d801dbd635929bb1c37d75b4
Signed-off-by: Filip Varga <filip.varga@pantheon.tech>
2018-11-06 14:14:03 +00:00
Damjan Marion
55c6c4a422 dpdk: format_dpdk_device_name cleanup
Change-Id: I49a5029d256df8f749ee30d19ff7473147b6516f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-06 13:50:30 +00:00
Yulong Pei
dcb0c1aae8 Change l2_patch from dual-loop to quad-loop
The change can save 1.1 clocks per packet on Intel Atom C3858 platform,
It downgraded from 2.05e1 to 1.94e1 clocks per packet.

The change can save 0.3 clocks per packet on Intel Xeon CPU E5-2699 v4 @ 2.20GHz,
It downgraded from 1.26e1 to 1.23e1 clocks per packet.

Change-Id: I1ede77fb592a797d86940a8abad9ca291a89f1c7
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2018-11-06 12:05:40 +00:00
Stephen Hemminger
f286c4b942 dpdk: fix device name suffix confusion with failsafe/netvsc
When netvsc or failsafe DPDK device is used, the DPDK port id does not
match the VPP device instance id.  The code that formats the device
name was incorrectly calling DPDK device info using the VPP device
instance id. This causes the VPP interface to be named
"FortyGigabit0/2/0" based on mistakenly finding the PCI device
information of the hidden DPDK port id for the VF device.

Change-Id: I9366232f4b2087076bdcc1a58bf228007c24c084
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-11-06 11:53:24 +00:00
Stephen Hemminger
ef101310f4 dpdk: fix pmd device type when using netvsc or failsafe
The pmd device type show with 'show hardware' is wrong if using failsafe
(or netvsc pmd) because the pmd device type should be based of the VPP device
instance, not the DPDK port id.

Fixes: a059a000f81a ("dpdk: Decoupling the meaning of xd->device_index in dpdk_plugin")
Change-Id: I3880fe674731880c5706a21d8ef3ccf8d569d46d
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-11-06 11:51:39 +00:00
Florin Coras
9ece3c0313 tcp: dequeue acked only once per burst
Avoid dequeuing acked bytes more than once per burst for a connection.
Although the fifos do not use locks, size decrements are atomic, so they
rely on locked instructions.

Change-Id: Id65f4ea40b2c10057461402dfd0393034e6472d5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-06 08:10:22 +00:00
Andrew Yourtchenko
87ee947d0b acl-plugin: 5-tuple parse: get rid of memcpy and move to flags vs. bitfields
Using bitfield struct for 5tuple proved to be fragile from
the performance standpoint - the zeroizing of the entire
structure and then setting the separate pieces of it
triggers increased memory latency. So, move to using
flags byte.

Also, use the direct object copies rather than memcpy.

Change-Id: Iad8faf9de050ff1256e40c950dee212cbd3e5267
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-11-05 21:53:43 +00:00
Zhiyong Yang
b0073e276d vxlan: prefetch extra one cacheline holding external header
For vxlan_encap, code will touch memory area before the field "data"
in struct vlib_buffer_t, however so far it is not prefetched in cache
yet for this graph node.
After applying the patch, 2~3 cycles per pkt for vxlan4_encap can be
saved on Haswell. It will bring a lot of benefits on DVN platform too.

Change-Id: I26d8c57fb3d2415726be5367117d73eb715e35ad
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2018-11-05 21:02:38 +00:00
Matthew Smith
2130284302 dpdk: enable gso when the tap PMD is enabled
Setting DPDK_PMD_TAP=y when building will enable the tap PMD
in the build configuration that is generated for DPDK. Enabling
this currently results in a failure during compilation because
rte_gso.h is not found. RTE_LIBRTE_GSO needs to be set to y for
this to work.

Use the setting for the tap PMD to determine the value for
RTE_LIBRTE_GSO.

Change-Id: Ie395417b1c62369a95320856081ad52c674ce9f2
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-11-05 12:35:37 +00:00
Klement Sekera
e7a4e4c412 Don't autodetect plugin path if set on cmdline
Change-Id: Idf79f261a7590038c1813d3996f4644e3d7e0cbe
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-05 12:35:02 +00:00
Sirshak Das
5b718d5cf8 Enable atomic swap and store macro with acquire and release ordering
Add atomic swap and store macro with acquire and release ordering
respectively.  Variable in question is interupt_pending variable which
is used as guard variable by input nodes to process the device queue.

Atomic Swap is used with Acquire ordering as writes or reads following
this in program order should not be reordered before the swap.

Atomic Store is used with Release ordering, as post store the node is
added to pending list.

Change-Id: I1be49e91a15c58d0bf21ff5ba1bd37d5d7d12f7a
Original-patch-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
2018-11-05 12:31:43 +00:00
Neale Ranns
86327be975 Genric API types format/unformat support for VAT and custom dump
Change-Id: I8bc3a991f0ede0605d78b51ba609fbe5889513f2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-05 12:29:53 +00:00
Filip Varga
871bca9aa7 VPP-1450: binary api call for dumping SPD to interface registration
Change-Id: Idd4a5f8bab5d39e5f33f5c130601175af70a20d4
Signed-off-by: Filip Varga <filip.varga@pantheon.tech>
2018-11-05 09:31:24 +00:00
Florin Coras
36ee9f1ca3 tcp: send unsent data in fast recovery
Allows sending of unsent data in fast recovery and consolidates logic in
tcp, instead of splitting it between tcp fast retransmit and tcp output
path called by the session layer.

Change-Id: I9b12cdf2aa2ac50b9f25e46856fed037163501fe
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-05 08:20:51 +00:00
Igor Mikhailov (imichail)
40cca7585d Provide return value for PAPI disconnect()
Change-Id: I209f570634636725ce8fda5f61e900a71227b888
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-11-05 02:34:24 +00:00
Igor Mikhailov (imichail)
5efd14f755 Alter logging semantics for VPP PAPI object
Restore parts of commit d0e812f wiped out by a7564e80

The full description of the change is in d0e812f

Change-Id: I632476cb10678a725396462f90f9b0bea9e572fa
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-11-05 02:31:50 +00:00
Florin Coras
776f3d85eb tcp: coverity fixes
Change-Id: Ib15d629c5fde7849bfa3307f42659e920eb0f463
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02 08:26:24 -07:00
Filip Varga
eb60124098 cdp scapy protocol & cdp unit tests
Change-Id: Ieb362523f81f7ae3e1a9dceb341c499ff1f402c8
Signed-off-by: Filip Varga <fivarga@cisco.com>
2018-11-02 13:16:10 +00:00
Andrew Yourtchenko
cc8fa16929 vnet: ping: rewrite for maintainability and multicore support
Refactor most of the ping code to be address-family agnostic,
and add support for chained buffers (thus, sending
the payloads bigger than 2K).

Change-Id: I749c302ca2f3390e0d1f84046fc72da5cf13e3ef
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-11-02 12:19:07 +00:00
Damjan Marion
bd0da97e5a vlib: define minimum chained buffer segment size
Change-Id: I9b5f7b264f9978e3dd97b2d1eb103b7d10ac3170
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-02 08:54:02 +00:00
Stephen Hemminger
93468adfc4 dpdk: restore special handling for failsafe driver
The failsafe driver is unique because it shares device with underlying
pci device. This confuses name generation. Without this fix, the name
is wrong and multiple devices get created with same name.

Fixes: 3901a038edf4 ("dpdk: only look at PCI information on PCI devices")
Change-Id: I13796d03baf6c76dafe3667c83bea4a1ae30c48f
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-11-02 08:07:45 +00:00
Florin Coras
c44a558164 session: measure dispatch period only if under load
Also reset pacer on tcp retransmit timeout

Change-Id: I5a9edee4c00d1d169248d79587a9b10437c2bd87
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02 08:06:46 +00:00
Florin Coras
be72ae6149 tcp: minimize use of tls
Also propagate tcp worker context instead of retrieving it multiple
times.

Change-Id: I7b273b981826b37783566d0172a64cd6957f3b33
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02 08:06:46 +00:00
Eyal Bari
bf9f02cd39 arp:add error counters for all failure cases
Change-Id: Ided6c661edc9e2035fd7b472c312e2380d3f9c0b
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-11-02 07:45:39 +00:00
Florin Coras
e55a6d7a97 tcp: fast retransmit pacing
Force pacing for fast retransmit to avoid bursts of retransmitted
packets.

Change-Id: I2ff42c328899b36322c4de557b1f7d853dba8fe2
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-01 20:43:29 +00:00
Dave Barach
f6c68d74ec Move RPC calls off the binary API input queue
Change-Id: I2476e3e916a42b41d1e66bfc1ec4f8c4264c1720
Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-11-01 20:41:22 +00:00
Igor Mikhailov (imichail)
f3ffdbc809 Fix API name_crc format stored in msg_api_table
Change-Id: I716d025beb8f649060238c2bd388357943643621
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-11-01 20:20:30 +00:00
Mohsin Kazmi
12fe878ac8 vom: Add igmp 'host' support in vom
Change-Id: Ibdb19d21b8ec7fb340a057e32df207b7723dba9b
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-11-01 09:24:15 +00:00
Florin Coras
0d883a4ac7 session: fix sh session cli
Change-Id: Idbc7b61393c6d0e3b8ea950397a89d21b1cf3a42
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-31 21:31:11 +00:00
Yichen Wang
840cd12ee4 Makefile: support both RHEL and CentOS in install-dep
Change-Id: I31fd8700bfac462944b7621947edd3710fd247b9
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2018-10-31 18:16:28 +00:00
Mohsin Kazmi
2b4c49e6fd make-test: Fix the vapi test
Change-Id: I5a4dc3894818f92368d6c906ff43e093c16c1d19
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-31 16:45:19 +01:00
Dave Barach
8284244d48 EMACS-LISP-ONLY: fix names of xxx_main_t pointers
main_t pointer: <first-letter-of-plugin-name> + "mp"
test_main_t pointer: <first-letter-of-plugin-name> + "mp"

AKA: (setq main-p (concat (substring plugin-name 0 1) "mp")) etc.

Change-Id: Ie1b38fb62485183bbe00f649683492aa82a21376
Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-31 09:55:09 -04:00
Dave Barach
6070768ce0 EMACS-LISP-ONLY: fix boilerplate compile error
Change-Id: I81defe6465219e23a44608fcf0570a058ab3f59e
Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-31 09:23:58 -04:00
Lijian Zhang
a22ba8859a Add and enable msb mask vector intrinsic for aarch64.
This patch enables the use of this function for enqueuing frames to the next graph node.

Change-Id: I4003110db59870f7106e0d13942d6ff7bc54b46d
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>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
2018-10-31 10:24:22 +00:00
Eyal Bari
11d47af5af l2fib:remove unused bucket arg in lookup functions
Change-Id: Ib138b6e2eac47acc16e81bc88358ae7947420134
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-10-31 10:55:33 +02:00
Florin Coras
5f56d736cb session: prioritize postponed sessions
If sessions cannot be handled during the current dispatch loop
iteration, ensure that they are first to be handled in the next.

Change-Id: Ifc6215900f8cfd530d4886b58641189f0ccf9bb7
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-31 08:17:33 +00:00
Florin Coras
5a7ca7bde1 session: add wrk context
Change-Id: I66ca0ddea872948507d078e405eb90f9f3a0e897
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-31 08:17:33 +00:00
Neale Ranns
1bce5a9208 ADJ: init MTU to interface default
Change-Id: Iaecf8c060e1337d8c362ad9a9be2bb9701664397
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-30 19:45:55 +00:00
Dave Barach
5e36c3cd6b DOC-ONLY: document packet intialization from scratch
Minor clean-up in the home gateway use-case documentation

Change-Id: I7d3aaea8cec62248daf7814b21a8acb574ac12a1
Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-30 19:21:51 +00:00
Neale Ranns
8f8994ad59 change mac address functions take const mac
Change-Id: Ia68db22b917e9af1394c00e5a6b3df134bfd1568
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-30 13:37:41 +00:00
jdenisco
1511a4e953 docs: Add VPP with iperf and trex
Change-Id: I9f238b6092bc072fd875facfee5262c6b155043e
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-10-30 13:10:28 +00:00
Dave Barach
949bbbc7a4 DOC-ONLY: upgrade the "requests" package
requests 2.18.4 is the subject of a security alert

Change-Id: Id1e9338d86bced8c0bb065db7b3dc7f02aa41afc
Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-30 13:09:34 +00:00
Damjan Marion
0215fb4aee vppinfra: fix bug in default_socket_sendmsg
Change-Id: Ia9b74761ce511d218bb5319c7c9b5e58be3e2e8a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-30 13:04:27 +01:00
Damjan Marion
a47ea2b3b0 dpdk: .function should be removed for mutiarch nodes
Fixes debug build crash.

Change-Id: Ia5c5da82beda5992f9e67456af9a4676b9b82722
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-30 10:06:01 +01:00
Klement Sekera
b8f3544706 migrate ipsec to new multiarch infra
Change-Id: Ibef46e068cd72415af28920b0146adf48105bf68
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-10-29 15:03:34 +00:00
Neale Ranns
cd35e53c92 Use throttle_t for ND throttling
Change-Id: I93c6b7bccd1a1ab71625ae29c99c974581186c4d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-29 12:06:11 +00:00
Neale Ranns
b3a9381ad5 interface-flags; fix coverity error found in conversion
Change-Id: I2eafac4ce810fe53454b729d81161ec80d036db7
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-29 03:38:31 -07:00
Vijayabhaskar Katamreddy
0c2319fe2b Fixing Exclusive dpo path issues added when via rpath
Change-Id: I7531a64d7072d85514ca579827b6ea0e9cef6f08
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2018-10-29 08:31:19 +00:00