3691 Commits

Author SHA1 Message Date
ahdj007
5e85c54d22 when exceed max reass,
frag packet can't get reass.

adding bihash,it can rewrite new hash value.
so need to delete hash after compare hash value.

Change-Id: I83b5c47890110e9a598b78cfbe8fcd27bbe291bb
Signed-off-by: ahdj007 <dong.juan1@zte.com.cn>
2018-03-09 13:05:27 +00:00
Neale Ranns
31ed744076 MPLS Unifom mode
- support both pipe and uniform modes for all MPLS LSP
- all API programming for output-labels requires that the mode (and associated data) is specificed
   - API changes in MPLS, BIER and IP are involved
- new DPO [sub] types for MPLS labels to handle the two modes.

Change-Id: I87b76401e996f10dfbdbe4552ff6b19af958783c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-09 11:59:58 +00:00
Mohsin Kazmi
8f931a47b0 ACL: Fix the detail for ethertype whitelist
Change-Id: Ie8b4effbd25e1e26b625d451ec059bac58a5a5a1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-03-09 10:38:46 +00:00
Keith Burns (alagalah)
7cf80e08b6 VCL event handling changes
- added vce_get_event_handler()
- added check for event before blocking on mutex in vppcom_session_accept()

Change-Id: I8e19ea5fcbaa40279cb28152b9923ca8f1328670
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-03-08 16:46:25 -08:00
Florin Coras
d77eee64b1 tls: make tls engines pluggable
- add infra for pluggable tls "engines"
- makes mbedtls specific code a plugin

Change-Id: I2c5b099e2b69d2be0038e3ef02b208ff907727e7
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-08 21:53:33 +00:00
Keith Burns (alagalah)
00f44cc1f7 VCL refactoring
- simplified event handling and unregister
- removed fixed need to bit flip event hash key
- added spinlock for client_session_fifo (was using sessions_lockp)
- removed redundant vars

Change-Id: I3c7645da660fb5560efdc4e9347e105df9650a16
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-03-08 19:58:34 +00:00
Dave Wallace
9a0546d8c5 VCL: cleanup namespace_secret env-var cfg code.
Change-Id: I9de8dd822494abe1b8701a72a9b8bede34dea8dc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-08 19:10:05 +00:00
Dave Wallace
fbbb07c33e VCL: Add full hoststack test option to socket_test.sh
Change-Id: I3e5e179daa9d6f1c46adb85b05dd810bdd312054
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-08 19:08:55 +00:00
Andrew Yourtchenko
27fe75a96b acl-plugin: add the support for dumping the ethertype whitelist (VPP-1163)
The gerrit 10434 which added the support for whitelist model on ethertypes,
did not include the support to dump the current state.
This patch fills that gap.

Change-Id: I3222078ccb1839dc366140fa5f6b8999b2926fd2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-03-08 14:35:20 +00:00
Marek Gradzki
cc134719b7 vppapigen: require reply/details messages for requests/dumps
Throw exception if details/reply is not defined instead
of logger warning.

Change-Id: I6eb39c51eecca6521e5f563ba09dfd62311b45ec
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-08 06:59:16 +00:00
Steve Shin
a36f08c364 Fix Avoid crash in vnet_delete_sub_interface routine
vnet_get_sw_interface shoud be called after sw_if_index is validated.

Change-Id: I36f1d90999c740803386404ba9b32703b659cd54
Signed-off-by: Steve Shin <jonshin@cisco.com>
2018-03-07 13:42:09 -08:00
Damjan Marion
8db9430007 fix physmem mappings
Change-Id: Ie0763e20c36a29a8ef866511903c85027dd133c3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-07 19:26:50 +01:00
Damjan Marion
7dc4d67852 features: extend 'feature node not found' warning message
Change-Id: I8f45fdb3865e2e0cbb5162ac622c07fec5e42b9d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-07 16:39:06 +00:00
Matus Fabian
e4e34c23fe NAT44: allow to configure one interface only as output or input feature (VPP-1192)
following is not possible:
set interface nat44 out GigabitEthernet0/3/0 output-feature
set interface nat44 out GigabitEthernet0/3/0

Change-Id: I1592cc18390881fda66f98316700886b8f5295f0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-03-07 14:18:11 +00:00
Neale Ranns
4b65ddf428 GBP: fix the runs before statement against the ACL node
Change-Id: I0ff13962ab6855663b9aec31c95e4a88cc809ff0
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-03-07 14:11:45 +00:00
Damjan Marion
ef2e584543 packet-generator: use default free list
Change-Id: I2a34546f9b32edc9bfb86b5492dde34aaef49ccc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-07 14:01:40 +00:00
Florin Coras
8f89dd0128 tls: enforce certificate verification
- add option to use test certificate in the ca chain
- add hostname to extended session endpoint fields and connect api
  parameters. If hostname is present, certificate validation is
  enforced.
- use /etc/ssl/certs/ca-certificates.crt to bootstrap CA cert. A
  different path can be provided via startup config

Change-Id: I046f9c6ff3ae6a9c2d71220cb62eca8f7b10e5fb
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-07 13:27:59 +00:00
Damjan Marion
7139e757b1 test: disable reassembly tests and system modification script
One of basic requirements from day one for maek test is that it should
run unpriviledged, so modifying system paremeters is unacceptable.

Disabling script and reassembly tests as they need to be done in
different way.

Change-Id: I063c73eb82f2ebd7499e8adb1574a9fd2475fb5b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-07 12:00:59 +00:00
Ole Troan
d6743b1d64 VPPAPIGEN: Run tool directly from source tree.
This ensures that tool changes do not require re-bootstrap.
Disabled generation of temporary files (gentab / .pyc) to avoid polluting the source tree.

Change-Id: I4d6bc035fbb46550fa8f4e99f4091eef90e2d86c
Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-07 10:53:52 +00:00
Ole Troan
52ca756c3a VAPI: Ensure type definitions are generated in same order as .api file.
The previous use of a dictionary instead of a list led to typedefs being generated in wrong order.

Change-Id: Iee6ff73f920883ce6e599180c1b47fe997c1702e
Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-07 10:37:49 +00:00
Damjan Marion
c22fcba177 vlib: avoid crash if fill_free_list returns 0 buffers
Change-Id: If1284696e10df71b4029191b5e3adb32c21c0c5f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-06 20:02:21 +00:00
Keith Burns (alagalah)
1275651d77 VCL registration handler added to session for polling sessions
Change-Id: I5f0f3b07a7aa3f243c3d44a9a15cf0670dbb2d46
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-03-06 18:18:30 +00:00
Yusuke Tatsumi
4707f22572 LB plugin: Fix Layer-4 checksum error in L3DSR.
Though dst-IP address would be change in LB plugin with L3DSR method,
layer-4 checksum would not be recomputed after this change.

Related changes:
- L3DSR: https://gerrit.fd.io/r/#/c/10203/

Change-Id: I98de7b8d80186ac77608a68050208c08d90b7c3b
Signed-off-by: Yusuke Tatsumi <ytatsumi@yahoo-corp.jp>
2018-03-06 15:55:07 +00:00
ahdj007
9691cf2d08 when lb tcp in2out flow,
in2out and out2in protocol are not same

Change-Id: I4ce680ad1f088cb079e1f2aeb15ca59225fca0d1
Signed-off-by: ahdj007 <dong.juan1@zte.com.cn>
2018-03-06 15:19:11 +00:00
ahdj007
9f06d0eccf reass frag_n should to be inited to 0
Change-Id: I8a4a7a85e86acbfe411e6dfa22e3976d7d4c903b
Signed-off-by: ahdj007 <dong.juan1@zte.com.cn>
2018-03-06 15:17:59 +00:00
Mohsin Kazmi
b5eb3b185f VOM: Fix state reconciliation
This commit also fixes the acl and arp handle for
inspector to view internal state of VOM.

Change-Id: Ibc8ff6cb51d2a77b4c04993ac7212564b8892337
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-03-06 14:47:28 +00:00
Marco Varlese
3f6ede3ab3 glibc 2.27 fix
With glibc 2.27 the memfd_create has been added to the devel libraries.
That's causing the internally defined static function to clash with the
system wide one. This patch addresses that issue on systems with latest
glibc libraries.

Change-Id: I788bf49b23d5b5f1cb1c0374e243d8a429178a71
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-03-06 13:11:18 +00:00
Marek Gradzki
07dce1e11d vppapigen: require service definition for singleton messages
Change-Id: Ie7b1c5e50588f65657c3c0900e5914ea82ebb50f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-06 12:54:57 +00:00
Marek Gradzki
b533f3fade vppapigen: do not allow to define message as both request and reply
Change-Id: I0738fac32dd0c5d927c52d2eb2c1100d14c147cf
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-06 11:24:26 +00:00
Marek Gradzki
fc70e3a89f vppapigen: require reply ID different than caller ID
Change-Id: I316dc99881bce6a36904863d3c1c049b4f5cf658
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-06 11:24:17 +00:00
Marek Gradzki
51e5968835 API: Add service definitions for events and singleton messages (second attempt)
Based on https://gerrit.fd.io/r/#/c/10920/

Updates service definition in stats.api with correct reply message names.

Change-Id: I3282bee5304e667e23bc1fab3f43d967a50d880d
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-06 10:09:12 +01:00
Ole Trøan
2de1f15355 Revert "API: Add service definitions for events and singleton messages."
This reverts commit f7b7fa53b7eaec81d8c00c1023fb7d01f1f9761f.

Change-Id: I87496342943248e94f01ada31459f387c0a3a610
Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-05 23:05:28 +00:00
Damjan Marion
88c062119b physmem: keep only one physmem_main
We don't need per vlib_main physmem_main, so keep it separatelly instead
of trying to keep them in sync.

Change-Id: I0fbeecf4d9672d31af7a43c640a7d8f05dd6e46f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-05 20:02:41 +00:00
Keith Burns (alagalah)
3cf2d6403d VCL async event handler
- provides async handling of events such as accept/connect

Change-Id: Id95947237ef16629371b3c99822059d423e2f918
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-03-05 18:57:10 +00:00
Marco Varlese
c7fe4f39bc SCTP: API to configure some tunables
This patch adds the possibility to configure some behaviors of the SCTP
stack based on some tunable parameters (mainly ON/OFF). For the time
being, that is limited to the bundling option (multiplexing messages)
and to delaying the SACK message.

Change-Id: I696493e0309e47163c1e119c7d9f82f7d8ee6b87
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-03-05 18:41:26 +00:00
Neale Ranns
53da221b13 IP6 link-local table
- IPv6 link local table is a per-SW interface array of IPv6 unicast FIBs
- the per-interface ocst is sizeof(fib_table_t) which is small,
  w.r.t. the cost of an interface
- FE80::/10 in the 'global' table points to a DPO that performs a lookup in the
  input interface's LL fib.

Change-Id: Ice834b25ebeeacb2e929d7c864d7ec8c09918cbe
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-03-05 18:41:12 +00:00
Amir Zeidner
0e7fe4fddb Set DPDK_MLX4_PMD and DPDK_MLX5_PMD compile with default dlopen links
dlopen linkage allow more transparent use for Mellanox nics.
Mellanox shared library librte_pmd_mlx5/4_glue.so* placed in LD_LIBRARY_PATH
At run time Mellanox code will be loaded only when Mellanox nics explicty used.
i.e if VPP is used with other vendor Mellanox code is not loaded.

Change-Id: Ib05bdbfc4cbb6e447c67186c98361f9c5b447140
Signed-off-by: Amir Zeidner <amirzei@mellanox.com>
2018-03-05 18:40:41 +00:00
Ole Troan
f7b7fa53b7 API: Add service definitions for events and singleton messages.
Change-Id: I7de987c30b263d43521e6280c5273f30b5f6e11c
Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-05 16:44:28 +00:00
Damjan Marion
f313b747ad vlib: add functions to dynamically open/close PCI device
Old code was only allowing PCIdevices to be scanned during startup,
now driver can open and close device without restart of vpp.

Change-Id: I1a06511e3f16f896101b43dac2bad420b6e6c35e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-05 14:40:57 +00:00
Marco Varlese
9e09ff394a SCTP: retransmission in INIT/SHUTDOWN phase
This patch addresses the need to handle timers timeouts (e.g. sent
chunks not being acked) for both the INIT and SHUTDOWN phases.
The INIT phase requires the handling of two timers the T1-init and
T1-cookie timers whilst the SHUTDOWN phase requires the handling of the
T2-shutdown timer only for the retransmission case.
Left to be implemented is the handling of the DATA chunks retransmission
(e.g. T3-rxtx expiration) but that will be submitted with a separate
patch.

Change-Id: I2b2e13dce11000aea3c7d965f02b27b76c97e605
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-03-05 13:46:32 +00:00
Damjan Marion
eac3b11b67 vlib: vlib_buffer_free_internal optimizations
Change-Id: Ia819b630b824002c59680836a8833df7e5af90e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-05 12:49:01 +00:00
Damjan Marion
1ba0fa4bfa vlib: vfio code rework
Change-Id: I99cf3e7cc991aa7d32385a155c707a6516516117
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-05 11:34:16 +01:00
Damjan Marion
d5ded2df0f vlib: rework PCI INTx support
Change-Id: I6df5a01416993c213e06645a6d9b48dfe77c8227
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-05 10:32:20 +00:00
Florin Coras
e3e2f07141 tls: add stop listen handler
Change-Id: I233d02a669b6a0504cd54590c6c8e4fefadc4713
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-05 08:06:50 +00:00
Matthew Smith
03f942a1cc NAT44 - unknown protocols work with forwarding
If forwarding is enabled, inbound packets on an outside
interface should not be dropped and instead pass on to
the FIB lookup. This works for TCP and UDP but not other
IP protocols. Enable it for unknown protocols.

Change-Id: I1da84b5633a36b3e5e64079754db2fcc50f29819
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-03-05 08:03:43 +00:00
Damjan Marion
599a16bf8a vlib: add PCI MSI-X interrupt support (vfio only)
Change-Id: Iae2ddf93d1705354175e3dcae26b66e6f98a5c32
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-04 19:54:15 +01:00
Damjan Marion
2060db832a vlib: map pci region by using vfio FD when vfio is used
Change-Id: Ib94e9e9e9fcdad9cdb0e3402b3de7d78bd644abe
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-04 18:32:21 +00:00
Damjan Marion
44bcc20fcf vlib: fix vlib_pci_get_device_info on when not running as root
While comment properly says that only first 64 bytes can be read, actual
code was returning error instead being happy with 64 bytes received.

Change-Id: I09c0d1d5c9fc8e1f6c59c093d81bb1ce1924281b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-04 18:00:03 +00:00
Damjan Marion
7b18536084 vppinfra: fix clib_mem_vm_ext_alloc non-shared allocations
Change-Id: I6d049c0875b91f67f008dc04ae7efe2f8ddc276e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-04 17:58:02 +00:00
Ole Troan
30787378f4 VPPAPIGEN: Improve output module finding for out-of-tree builds.
Change-Id: I3b646d84586dd61018f71cbf21c971c97fda75c1
Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-03 10:17:18 +00:00