Commit Graph

4871 Commits

Author SHA1 Message Date
Neale Ranns
79a05f5471 VXLAN-GBP: use common types on the API
Change-Id: I11ec0d7048d36c30a97d437e5b0abd05f06ab0eb
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12 10:11:18 +00:00
Khers
0b48cdead5 device flags will set in dpdk_update_link_state.
Change-Id: If74acb0168bed2201d2a8b47bf3f860540d1574b
Signed-off-by: Khers <s3m2e1.6star@gmail.com>
2018-09-12 10:10:57 +00:00
Matthew Smith
768c290093 Add patch for ixgbe x550 SFP+ to DPDK 18.08
Patch for ixgbe which has been used with DPDK 18.02, 18.05.
If the link flaps before link status has been successfully
collected, the MAC will be reset and the PMD will not wait
long enough for it to come back up before giving up, which
will continue happening every time an attempt is made to
check the link status.

This patch was submitted to upstream DPDK in July 2018 but
it has not been included in a release yet.

Change-Id: Ib2100b33d2a986f3cf74e42fc5538412f76f42c7
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-12 10:10:43 +00:00
Sirshak Das
759226e668 Add and enable u32x4_extend_to_u64x2_high for aarch64 NEON intrinsics.
This is the high version of extendto. This function accomplishes the
same task as both shuffling and extending done by SSE intrinsics.
This enables the NEON version for buffer indexes to buffer pointer
translation.

Change-Id: I52d7bbf3d76ba69c9acb0e518ff4bc6abf3bbbd4
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
2018-09-12 10:09:50 +00:00
Ed Warnicke
dbecf18b8a Fix create memif socket
create interface memif [id <id>] [socket-id <socket-id>] ...

Can optionally take a socket-id.

You create a socket-id with:

create memif socket [id <id>] [filename <path>]

Unfortunately, this doesn't work because "create memif" was
deprecated.  It results in:

vpp# create memif socket id 0 filename /run/vpp/test.socket
command deprecated. Please use 'create interface memif' instead.

This fixes it by clipping out the

create memif

command entirely.

Change-Id: If503758706bf758b6cb46e958200527a5856c600
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2018-09-12 10:08:29 +00:00
Florin Coras
2cba8533cc vcl: add apis that expos fifo as buffer
Change-Id: I4bd9c9f73499711e04b38d53daa5c917a4285bf5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-12 09:13:16 +00:00
Florin Coras
41c9e04be0 vcl: improve read and fifo event handling
Change-Id: Ic1c51818b8aa8dbd164e70bb3b7471868e5af6f6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-12 09:13:16 +00:00
Dave Barach
ffb14b9554 bihash 32/64 bit shared memory interop
This patch makes 32/64 bit interoperable shared memory bihash tables
work regardless of where they're mapped.

Change-Id: If5b4a37ccdaa75410eba755c7d7195633de1b30b
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-11 17:21:10 -04:00
Neale Ranns
9b2f51abb5 indent off in ip_lookup_set_buffer_fib_index
when the name of the structure crosses a line boundary it's painful to parse...

Change-Id: I5d0606900802fb8d64a065f31f3e2a53bd8a5f40
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-11 17:25:00 +00:00
Neale Ranns
eb1525f106 L2-learn; cache prefetch fix
the header is written (STORE) the data is only read (LOAD)

Change-Id: Ia3ac0c81224a0db736c329ed3e2e55b7417f08a0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-11 17:24:07 +00:00
Neale Ranns
c0a9314341 GBP Endpoint Updates
- common types on the API
- endpoints keyed in various ways for DP lookup
- conparison functions for VPP IP address types

Change-Id: If7ec0bbc5cea71fd0983fe78987d147ec1bd7ec8
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-11 16:00:29 +00:00
Mohsin Kazmi
0d8cbc1b15 vat: remove the endiness for u8
Change-Id: I9636a4e631cacf22d3189e292888c34f615298b0
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-11 14:40:46 +00:00
Ole Troan
958cff701d VAT: plugin load errors
- NSH plugin overrode vat_api_hookup()
- Missing format function in mactime.

Change-Id: I2dcbc2522d8f525d223c2ee3bb667111d1b3b78e
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-11 12:12:51 +00:00
Matthew Smith
0be66e160f remove libvlib from libvlibmemoryclient libs
On CentOS 7, having libvlibmemoryclient link libvlib causes
a SEGV when a program or library is run which links against
libvlibmemoryclient and dlopen() is called. This is because
dlopen() executes any functions with __attribute((constructor))
set. The VLIB_CLI_COMMAND macro creates CLI registration
functions that have this attribute set. So CLI registration
functions end up being run by applications which are clients
of the VPP API.

This doesn't occur on ubuntu 16.04, because ld seems to
omit shared libraries that were listed on the command line
if they are not used to resolve any symbols.

Removing the link to libvlib on vlibmemoryclient to fix this
problem results in another problem. Tests of libvcl_preload
fail when running 'make test'. This happens because
libvcl_preload calls dlopen but does not link against libdl.
When libvlibmemoryclient had libvlib linked, these errors
did not occur since libvlib links libdl. Adjusted the build
of libvcl_preload to explicitly link libdl.

Change-Id: I271ba2f9226ce1602e1f6c1525f3b093bb0345ed
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-11 08:42:47 +00:00
dongjuan
58f50f1bb6 nat: fix busy ports of each thread
which can create dead loop in
nat_alloc_addr_and_port_default function

Change-Id: I468c25ce0f0a0b3f881de564623dea208b2ca700
Signed-off-by: dongjuan <dong.juan1@zte.com.cn>
2018-09-11 08:42:08 +00:00
Sirshak Das
6da42decd4 Replacing vtbl NEON intrinsic with rev NEON intrinsic for byte_swap.
Using rev16 vector intrinsic to reverse byteorder in each word
independently.

Change-Id: I071c40780baffe0bda614ec5d9dd92858f574b0d
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Brian Brooks <brian.brooks@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
2018-09-11 08:40:46 +00:00
Sirshak Das
8e5d5db24e Add u32x4_extend_to_u64x2 for aarch64 using NEON intrinsics
This is used in vlib_get_buffers_with_offset.

Change-Id: If4ff776bc97d21a22e870300b164eeb6a5ec3638
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Brian Brooks <brian.brooks@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
2018-09-11 08:39:49 +00:00
Sirshak Das
61f325d195 Add horizontal add (hadd) vector intrinsic via NEON.
Having the NEON equivalent of u32x4_hadd for CLIB_HAVE_VEC128

Change-Id: I210f96f7ecb9b80b4753311a68e5e09ccda7e95b
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Brian Brooks <brian.brooks@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
2018-09-11 08:38:52 +00:00
Klement Sekera
34a962b728 vapi: support VLAs in typedefs
Change-Id: I3af3916b68189c2174020e5ecc29a7bc45b25efa
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-09-11 05:58:06 +00:00
Damjan Marion
19b4a4854e dpdk: clean interface link information on admin down / stop
Change-Id: Ie68814c8afc6cd67eb75da0b95dffa7b404cb7ba
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-10 21:45:42 +00:00
Andrew Yourtchenko
1606d3aa23 dpdk-plugin: do not request SCTP offload, some cards do not support it while supporting TCP/UDP
The DPDK plugin sets all of the offload flags, which may cause an initialization failure
on the NICs that do not support SCTP offload. The VPP code does not deal with the SCTP
offload at the moment at all, so after discussing with Damjan, we agreed
the best approach to fix the issue is to not request the SCTP offload.

The output of "show hardware" for the NIC in question before this patch:

            Name                Idx   Link  Hardware
GigabitEthernet1/0/0               1    down  GigabitEthernet1/0/0
  Ethernet address 00:e0:67:09:90:4b
  Intel 82540EM (e1000)
    carrier down
    flags: pmd pmd-init-fail maybe-multiseg tx-offload intel-phdr-cksum
    rx queues 1, rx desc 1024, tx queues 1, tx desc 1024
    cpu socket 0
  Errors:
    rte_eth_dev_configure[port:0, errno:-22]: Unknown error -22

And the excerpt from "show log":

1970/ 1/ 1 00:00:00:739 notice     dpdk       Ethdev port_id=0 requested Tx offloads 0x1c doesn't match Tx offloads capabilities 0xf in rte_eth_dev_configure()

Change-Id: I159d65c02fc3f044441972205f1f0ac08e52050c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-09-10 18:50:08 +00:00
Neale Ranns
255299c265 cmake VOM: j factor chosen based on number of cores
Change-Id: If1c27359cd93f6de6da9a93c3573997a51201959
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-10 15:42:17 +00:00
Damjan Marion
5beecec076 new multiversioning on ethernet input nodes
Change-Id: I1aa196756b3ff4969b8ff2f117778d2cd87d6dd5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-10 14:10:23 +00:00
Mohsin Kazmi
61b94c6bc4 vxlan-gbp: Add support for vxlan gbp
This patch implements vxlan with extension of group based
policy support.

Change-Id: I70405bf7332c02867286da8958d9652837edd3c2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-10 12:38:30 +00:00
Damjan Marion
b414d0d23a cmake: put vpp_api_test back to packaging
Change-Id: I1ccd9bd2861d5d8e57b1bd7f9e2439147f603a58
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-10 10:32:00 +00:00
Florin Coras
2179513b71 session: lock app worker mq for io events
Also fixes vcl client/server stats and closing procedure.

Change-Id: I7d5a274ea0a3c8ea13062bf61bf402248dfe1a19
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-10 03:15:16 +00:00
Steven
97f592f474 vlib: crash in linux_epoll_input_inline for accessing free file index [VPP-1412]
Under rare scenario, epoll may still post an event to VPP although the file
descriptor is already deleted via epoll_ctl (EPOLL_CTL_DEL) and the file
descriptor is close. VPP tries to access the free file index entry and crash.

The fix is to throw away the events which the file descriptor is already deleted.

Change-Id: Ieca3a1873aecb28630c3abc42c40341f27c2faa7
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit aec7297ba0)
2018-09-09 20:26:40 +00:00
Mohsin Kazmi
d4d7e8ad84 cmake: Move VOM to cmake
Change-Id: I352dbb8e972e59a4caae4acd507153446470ce6b
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-09 20:24:47 +00:00
Neale Ranns
3b81a1e5f2 L2 BVI/FIB: Update L2 FIB table when BVI's MAC changes
also some moving of l2 headers to reduce dependencies

Change-Id: I7a700a411a91451ef13fd65f9c90de2432b793bb
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-08 14:51:48 +00:00
Florin Coras
3348a4cf07 vcl: set worker pthread stop key
Otherwise the key destructor is not called on pthread_exit.

Change-Id: I11e6b9683a926eecd3f40a44aab41924ff9c3101
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-08 12:12:13 +00:00
Florin Coras
de9f08b030 vcl: register workers in order
Change-Id: Ibc74e7f7587f8b17fc0dcec20cc4530b9dd4c3ca
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-08 12:12:13 +00:00
Florin Coras
da3eec1672 session: detect namespace for transport apps
Change-Id: I770607cb213d538a29d7bd5762682981b01e9d18
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-08 12:12:13 +00:00
Florin Coras
74cac8839e session: fix reentrant listens
Change-Id: I72d400401a308012b43513179870823f6f921e44
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-07 21:30:44 +00:00
Matthew Smith
d790c7e1fa update regex used by rpm build to find lib files
The old expression was '*.so.*.*.*' to find shared library
files with 3 components in the version.

Building from master gives you files with 2 components in
the version (e.g. libvnet.so.18.10). So most libs were not
getting included in vpp-lib.

Change-Id: Ib89d2f5aeb2417eed1b6b851089b9d22f540a226
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-07 19:39:54 +00:00
Dave Barach
36feebb42f Improve NTP / kernel time change event handling
clib_time_verify_frequency(...) rejects clock frequency changes
greater than 1%.

vlib_worker_thread_barrier_sync_int (...) continuously checks that the
barrier hold-down timer is not unreasonably far in the future.

Change-Id: I00ecb4c20e44de5d6a9c1499fa933e3dd834d11a
Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-09-07 19:38:50 +00:00
Damjan Marion
833de8cab6 cmake: set packaging component for different files
Change-Id: I033a1f5cdb24f77462cb5ec90a62226d93f52925
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-07 19:37:44 +00:00
Marco Varlese
0745036cb9 Cavium OcteonTX: cache line fix
According to Nitin Saxena ThunderX2 machine has 64B cache line whilst
all others are 128B. According to Damjan, Nitin's previous patch broke
compilation for all non-Cavium machines. This patch should make
everything happy again.

Change-Id: I8c5c2661f9f2f9c3e9b0965a277712f9a1eefa5f
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-09-07 19:36:48 +00:00
Ole Troan
4e588aa7ca VPP-API: Cancel timeout thread without sending READ_TIMEOUT message.
This caused a spurious message to be sent on the API ring causing debug messages.

Change-Id: Ief4ca655ae048aad386a88fed11e8c1114378dc7
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-07 15:00:13 +00:00
Neale Ranns
b54d081873 L2-FIB: replace bit-fields with flags
Change-Id: Ic31da442a0e0477569d53b4a72627bbb25e93365
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-07 13:35:58 +00:00
Neale Ranns
3b93be5d76 IP route update fix when multipath and drop set
Change-Id: I9cec7486cb6e3c5261d74d2b15a4d19469285a30
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-07 11:16:14 +00:00
Ole Troan
c84cbad785 PAPI: Unpack embedded types with variable length arrays.
Change-Id: Ic952ed5b837ac8409fd95e2b5cb92eb028ba0c40
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-07 11:08:06 +00:00
Damjan Marion
a85e0de8ae post move-to-cmake cleanup
Change-Id: I87b8f054bbb54895429578dfe565e72331beb5b2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-07 09:52:39 +00:00
Damjan Marion
4c842f8d75 Remove qsort.c from vppinfra
Change-Id: Ifcc2717efd242ae2016563d6f3e5cd57fe161e00
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-07 09:49:12 +00:00
Florin Coras
6d4bb42540 vcl: refactor test client to support workers
Change-Id: I7fcfddc2bc7d9a64f8aa0d57ba5d11d325a15ce1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-07 09:36:00 +00:00
Hongjun Ni
49ca260111 Add flush flag on del as command
This patch depends on https://gerrit.fd.io/r/#/c/13260

Change-Id: If94968342935ebd24cf4ebed238e6a27d94959b7
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-09-07 07:33:31 +00:00
Zhiyong Yang
e4b202a414 geneve: fix variable initial value
It is not good enough to initialize sw_if_index0 = 0,
sw_if_index1 = 0, as it maybe causes the first two
incoming packets to miss necessary computation.

Change-Id: Ifcab408d9514820e0daa280f4c73956db13b59be
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2018-09-07 07:31:28 +00:00
Scott Keeler
d9668e7153 docs: what is vpp and features and performance
Change-Id: I5a9ae39ed0429b3de001b5109268d577a281cd46
Signed-off-by: Scott Keeler <skeeler@cisco.com>
2018-09-07 07:29:27 +00:00
Jakub Grajciar
568cc4674e libmemif: slave connecting bugfix
in case first connecting slave fails continue connecting others
add disconnect string to memif details

Change-Id: I9d83db4724de1cab60786dca566e004016cf1e59
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-09-07 07:28:17 +00:00
Nitin Saxena
66bff59f7c cmake: Fix compilation for OCTEONTx
Change-Id: I7b7183b4603076e5afac096545d820091ee7c495
Signed-off-by: Nitin Saxena <nitin.saxena@cavium.com>
2018-09-07 07:26:15 +00:00
Chris Luke
c5cb6380e1 Silence warning over ignored return value (CID 187932)
- We deliberately ignore the return value.

Change-Id: If467911b019e7336cf9dc6d4c95c2cd53a5af33f
Signed-off-by: Chris Luke <chrisy@flirble.org>
2018-09-07 06:56:15 +00:00