6323 Commits

Author SHA1 Message Date
Neale Ranns
281ff51396 GBP: coverity uninitialised variable warning
Change-Id: Ic6e23f497fd91dcb1441f9f4d88a182712e69d3f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-07 23:03:05 -07:00
Damjan Marion
060bfb987a crypto: add support for AEAD and AES-GCM
Change-Id: Iff6f81a49b9cff5522fbb4914d47472423eac5db
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-07 11:19:35 +02:00
Florin Coras
dc43bcd8ab http_server: add timer wheel for session cleanup
Change-Id: I494a6a7f4818a224376ec9150cff3872a3aec659
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-07 03:14:50 +00:00
Damjan Marion
ba01f07631 crypto: coverity issues
Change-Id: I9db1b74097c9df587b9265b14a969d347bcb731a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-07 02:59:38 +00:00
Neale Ranns
c42c7f08f5 Pipe: fix double count on TX (TX counting is done in interface-output)
Change-Id: I550313a36ae02eb3faa2f1a5e3614f55275a00cf
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-06 20:42:51 +00:00
Mohsin Kazmi
7363d47965 gbp: Add gbp bd flags unit test
Change-Id: I5b18cb84bec88f5514cacd2df61b5ce3c70abd77
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-06 18:48:15 +00:00
Dave Wallace
64b3cc2183 Doxygen: clean up vec.h
Change-Id: I2294982e6df41a13e61783e18f947da0bdd4b499
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-06 12:56:51 +00:00
Florin Coras
0eed0e1dd1 quic: support addition of fifo segments
Change-Id: I8cb03ee832e77d2b21d47aa7a44579c283fb1054
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-06 11:35:37 +00:00
Andrew Yourtchenko
05f7ca110b make the output of "show api dump file <filename> compare-current" doxygen-friendly
The current output of the API diff requires some massaging
to appear like a table in the docs generated by doxygen.
This change eliminates this need.

Change-Id: Ic9269a0e5e232e4d01a0695561e4f90eee287327
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-05 22:50:54 +00:00
Florin Coras
c213089c2d quic: update app ns on connect
Change-Id: I0aa220b1f5a72d8bbc6d147830766790d7f6d9bf
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-05 22:50:15 +00:00
Filip Tehlar
72ac548e1a crypto: fix init dependency
Change-Id: Ie8dcd9fa0d0487b146eaa62113a5ee06bd3e7d3b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-05 18:54:29 +00:00
Benoît Ganne
dc195d6845 rdma: more batching, compile rdma-core in release mode
rx: add batching for WC processing and release
tx: improve batching for WC submission and processing
rdma-core: compile in release mode to remove assert()

Change-Id: I5fb8736db36b50f8b758cd688100477b67e72d80
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-05 18:46:38 +00:00
Florin Coras
fa7512e18d session: fix app name formatting
Change-Id: Iea88ce5f6628e131e507ba45a3dbb2de7e6c1498
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-05 18:35:42 +00:00
Jack Xu
f7537449e9 fix pcap_trace cli output issue
Change-Id: Ia2be56e198c960788430705b356170f8cc12c450
Signed-off-by: Jack Xu <jack.c.xu@ericsson.com>
2019-04-05 17:16:13 +00:00
Paul Vinciguerra
ccf65fbc0e Fix failing centos jobs due to yum replacing python34 with python36.
vppapigen is failing because the ply library is installed under
python34.

09:04:49 Dependencies Resolved
09:04:49
09:04:49 ================================================================================
09:04:49  Package                Arch           Version               Repository    Size
09:04:49 ================================================================================
09:04:49 Installing:
09:04:49  python36               x86_64         3.6.6-5.el7           epel          66 k
09:04:49      replacing  python34.x86_64 3.4.9-2.el7
09:04:49  python36-libs          x86_64         3.6.6-5.el7           epel         8.5 M
09:04:49      replacing  python34-libs.x86_64 3.4.9-2.el7

----
09:07:27 cd /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && /w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen --includedir /w/workspace/vpp-verify-master-centos7/src --input /w/workspace/vpp-verify-master-centos7/src/vlibmemory/memclnt.api JSON --output /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
09:07:27 Traceback (most recent call last):
09:07:27   File "/w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen", line 4, in <module>
09:07:27     import ply.lex as lex
09:07:27 ModuleNotFoundError: No module named 'ply'

Change-Id: Ica3b408991d26262418576cffc848fb2a8cb0224
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-05 16:13:30 +00:00
Andrew Yourtchenko
ae605b8903 vlib: fix "foo_msg" and "foo_msg_reply" in API message table triggering the "defininion changed" output
strncmp() succeeds if the i+1th message is "foo_reply",
because the comparison terminates early after "foo" -
which triggers the "definition changed" rather than
"only in ..." message.

Fix also the case where i+1th element does not exist.

Change-Id: I127136410491d9dd102e160fd831fcf6f0bd3a9f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-05 12:48:09 +00:00
Dave Wallace
f118ea2f38 QUIC: Build cleanup
- Remove redundant CMAKE variable definition.

Change-Id: I04992ec921cb5f175741c1bdd13613cfc291aeab
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-05 07:53:40 +00:00
Neale Ranns
b71fa75d48 IPSEC: punt reasons; SPI=0, no-tunnel
Change-Id: If76992e283a27fa193a6865257ab3aa764066e48
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-05 07:52:55 +00:00
Florin Coras
6416e6274d tcp: do not delete session on establish pop
Also:
- force reset if wait close pops in fin-wait-1 with unsent data
- adds more event logging.

Change-Id: I4ddada046214fa71e17514cdec57b3026f84a283
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-05 07:51:41 +00:00
Florin Coras
8509aa29e3 ldp: ignore TCP_CORK socket option
Change-Id: Iffc3d2fbb478d5cd228959f4f2653d0508887489
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 12:55:30 -07:00
Florin Coras
a154017cf5 session: fix http server rpc to main
Change-Id: I3e3820da5a9de97070bceecd3ea53b5351654319
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 19:08:17 +00:00
Florin Coras
282a3cb726 tcp: properly validate acks between snd_nxt and una_max
Change-Id: I37af3cb5fe3fe8556acbf8350f88663dca9ca8a9
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 14:40:16 +00:00
Damjan Marion
7c22ff72aa ipsec: trunc_size -> icv_size
Change-Id: Idb661261c2191adda963a7815822fd7a27a9e7a0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-04 12:49:39 +00:00
Damjan Marion
085637f5d5 crypto: pass multiple ops to handler
Change-Id: I438ef1f50d83560ecc608f898cfc61d7f51e1724
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-04 11:34:04 +00:00
Neale Ranns
1aa35576ec GBP: Counters per-contract
Change-Id: I28bb9e3d3ea3a99a9e24801ef5241a0099186108
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-04 10:27:26 +00:00
Florin Coras
070fd4b046 tcp: shorten wait in fin-wait-1 with fin rcvd
Change-Id: Ifddc32ab3da0e691ac3df74ff26e19f6fa00fef7
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 10:01:52 +00:00
Damjan Marion
deb8af6eb7 Add crypto_ia32 plugin
Currently this plugin provies AES CBC optimized code. Encryption code
supports parallel encryption of 4 buffers with different size and key
which improves performance 4x compared to standard serialized aproach.

On Skylake Server measured performance is around 0.71 clocks/byte with
256 buffers with size in range between 7000 and 8000 bytes.
Measured performance includes overhead of processing crypto ops.

Change-Id: I5ec2afee708fcdf16a4234926534dd64ff1155c3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-04 09:25:51 +00:00
Mohsin Kazmi
8ea109e40a gbp: Add bd flags
Add flags for unknown unicast drop, multicast and broadcast
drop and arp unicast.

Change-Id: I1203137510b8bee0a20ecfe5f2efad8043d4bac6
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-04 07:29:34 +00:00
Thomas F Herbert
dc66aadb9a Fix problem building rdma-core.
Recent patches add rdma-core.
They are not building in Centos because of differences
in cmake. This patch fixes that problem by defining
CMAKE for all external builds.

Change-Id: I3eea869226385207500c5a1217bd7330140ca462
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2019-04-03 12:45:45 -04:00
Steven Luong
82c5dda455 lacp: passive mode support [VPP-1551]
By definition, passive mode means the node does not start sending lacp pdu until
it first hears from the partner or remote.

- Rename ptx machine's BEGIN state to NO_PERIODIC state.
- Put periodic machine in NO_PERIDOIC state when the interface is enabled for
lacp. ptx machine will transition out of NO_PERIODIC state when the local node
hears from the remote or when the local node is configured for active mode.
- Also add send and receive statistics for debugging.

Change-Id: I747953b9595ed31328b2f4f3e7a8d15d01e04d7f
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-04-03 16:32:37 +00:00
Neale Ranns
5ae793ac4e IPSEC: correctly size per-thread data
Change-Id: Idfc05cd0e09b50a26eaf747b7c49f720b009159a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-03 15:12:19 +00:00
Mohsin Kazmi
09a3bc50b5 virtio: Add support for multiqueue
Change-Id: Id71ffa77e977651f219ac09d1feef334851209e1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-03 14:42:37 +00:00
Mohsin Kazmi
692f9b1205 pci: Fix the crash on deleting the pci device
clib_file_index is 0 if it is not initialized result in
following assertion on deleteing the pci device.

vpp/src/vppinfra/file.h:122 (clib_file_del_by_index) assertion `! pool_is_free (um->file_pool, _e)' fails

This patch fixes the issue by initializing the clib_file_index to -1.

Change-Id: I51d23f18e7ccf3143a4765d05aafc1363a007737
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-03 14:42:37 +00:00
Benoît Ganne
211ef2eb24 rdma: tx: fix stats and add batching
Tx stats are no longer counted twice.
Submit tx packets as a single batch per vector instead of per-packet

Change-Id: I26820b21f23842b3a67ace0b939095f3550d3856
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-03 14:41:12 +00:00
Neale Ranns
b294f1099e IPSEC: show CLI improvements
Change-Id: I48a4b0a16f71cbab04dd0955d3ec4001074b57ed
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-03 14:40:52 +00:00
Neale Ranns
2b600184f3 GBP: iVXLAN reflection check
packets should not egress on an iVXLAN tunnel if they
arrived on one.

Change-Id: I9adca30252364b4878f99e254aebc73b70a5d4d6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-03 13:48:19 +00:00
Aloys Augustin
7cae003a68 QUIC: Build system update
Download a single tarball with the sources of quicly and its dependencies from github instead of cloning submodules.

Change-Id: Id9955565d46f595b3a14ba3408c24045d4acd296
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-04-03 13:27:31 +00:00
Florin Coras
02ad5bc0a8 session: allow more fifos in preallocated segments
Change-Id: I335c092a8965c5dbec58603e9f5063dc8e3fc3ed
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-03 08:19:53 +00:00
Florin Coras
509028ab5d session: fix cli for sessions in created state
Change-Id: Ie154afdc20000b905ff71e39823154db4d23eea4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-03 08:19:34 +00:00
Florin Coras
6575a9a5ac session: do not enable pre-input node with 0 workers
Change-Id: I5c9e27b664ff1a8a74a6c1388f98af63571db7a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-03 02:10:04 +00:00
Neale Ranns
fe269f3c6f stat-segment: scaling improvement
don't walk the entire list of entries each time a new one is added

approximate/indicative numbers recorded on a VM:
after:
  50000 tunnels in 1.124443 secs, 44466.45 tunnels/sec
before:
  50000 tunnels in 5.202779 secs, 9610.25 tunnels/sec

Change-Id: Ie1155416be76f55f2a0a88360ce53e15aeace785
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 21:15:29 +00:00
Florin Coras
096f2f83f6 session: remove session logic from io rx evt sender
Change-Id: I54fff6986ea6455aff25e0cf1b83117860859e10
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-02 21:13:07 +00:00
Florin Coras
69b68ef1a9 session: use app cb function wrappers
Change-Id: I77ad9eb4d4c7699397aa4be6a973ef37c60db4c5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-02 21:12:56 +00:00
Damjan Marion
f6adf1f8db vppinfra: add u32x4 min / max sse4.2 inlines
Change-Id: I38e0be777199654ece286fdd1a42931ed99bbe8a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-02 19:07:02 +02:00
Florin Coras
f65074e4df tcp: improve rcv process ack processing
- Avoid doing cc in closing states.
- Rest connections closed with unread data

Change-Id: I97d46b0459f03ea5439eeb0f233b6c17d3e06dfd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-02 16:48:39 +00:00
Filip Tehlar
c6c4394dbd lisp: use crypto lib instead of openssl directly
Change-Id: I9667ed16939dede55b24959045737742d1c7c449
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-02 15:55:24 +00:00
Neale Ranns
f05e732e4a IPSEC-GRE; tests
failing test disabled on ARM

Change-Id: I6b7535cd8f51fdaf9786ba77f9f61a7d8d049bbd
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 14:10:28 +00:00
Neale Ranns
2b5ba9501c IPSEC: tunnel scaling - don't stack the inbould SA
Change-Id: I0b47590400aebea09aa1b27de753be638e1ba870
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 14:10:10 +00:00
Neale Ranns
ea5bb7761d IPSEC: remove pointless feature ordering
Change-Id: Ic1b657794d23cb4d1664fc749ad2468339e376df
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 05:43:34 -07:00
Matthew Smith
72491e2a17 dpdk: fix build error when mlx support enabled
When building with environment variables set to enable mlx PMD
support in DPDK, an error occurs:

CMake Error at plugins/dpdk/CMakeLists.txt:104 (vpp_plugin_find_library):
  vpp_plugin_find_library Macro invoked with incorrect arguments for macro
  named: vpp_plugin_find_library

Update a call to vpp_plugin_find_library() to include the right
number of parameters.

Change-Id: Ia0d66f93c6f94fdf822e2c3c4fe3f0ad01a90d57
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-04-02 06:55:11 +00:00