Commit Graph

2105 Commits

Author SHA1 Message Date
227038a444 IP Flow Hash Config fixes
- the flow hash config is (and was) cached on the load-balance object so the fib_table_t struct is not used a switch time. Therefore changes to the table's flow hash config need to be propagated to all load-balances and hance all FIB entries in the table.
- enable API for setting the IPv6 table flow hash config
- use only the hash config in the fib_table_t object and not on the ipX_fib_t
- add tests.

Change-Id: Ib804c11162c6d4972c764957562c372f663e05d4
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-26 15:31:41 +00:00
9806eae1f5 CGN: Session dump, test naming for ports fixed
Change-Id: Ib542b2b3ee023fbe3d0e01ceaf4b4ab7a0ec80dc
Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-26 05:17:42 -07:00
6bc8c6493c CGNAT: close session API and CLI commands.
Change-Id: I9c8636bd2c4b8da2907e8e4a4f2be1a2c3a8e0bb
Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-26 00:23:22 -07:00
c9fc77c510 Exit if plugin load attempt fail
This happens mainly if plugin contains unresolved symbol.
Such situation typically leads on crash a bit later so it is better
to exit immediatelly and display meaningful error message.

Change-Id: I4abd9a9089a4863400bf609e8d3fd7cebab92913
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-26 00:11:35 +00:00
82b13a89a3 Session/tcp coverity fixes
Change-Id: Ic5467df16e870b49c49678b1dbb40f4a2390b3c9
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-25 13:26:38 -07:00
11b8dbf78a "autoreply" flag: autogenerate standard xxx_reply_t messages
Change-Id: I72298aaae7d172082ece3a8edea4217c11b28d79
Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-25 16:18:42 +00:00
45d3496f3d Add sack tx unit test
Change-Id: Ib91db6e531231bdc52b0104673a912bee024872f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-25 15:44:15 +00:00
68d2e24fbb LISP: clean DP when deleting locators in use
Change-Id: Ia8736916bf59006bc581fe477db51ddd6bcc15e5
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-25 07:40:43 +00:00
1664f9ba4a Add support for 32-bit x86 compilation in Makefiles
Change-Id: Ida73678b47b685abef4e81b5cad9fc13eb330850
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-25 07:38:49 +00:00
36c1308b35 Fix structure alignment with 32-bit pointers
Change-Id: I740de6c0f12dab452b4349e3bf89ff976a6268c0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-25 00:13:53 +00:00
6ce2232e4c Define cache line size for x86 32-bit
Change-Id: Ie70e805f342bda69207b9df9543f1eccb5e69612
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-25 00:08:57 +00:00
b1352ed0ac BD:unify bridge domain creation code
Change-Id: I29082e7a0c556069180a157e55b3698cf8cd38c7
Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-04-24 22:33:14 +00:00
86326daeaa BFD: disable gcc6 warnings in helper macros
Change-Id: Ibec3f1a2619d593accd8c560fb29d39d5617e16a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-24 20:43:41 +00:00
757585db71 Move emacs stuff to extras/
Change-Id: Ibbb7d8500e9064215cf912bd00bdf72a748f8a27
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-24 14:49:00 +00:00
53129423a6 vhost: remove socket linked file when deleting vhost interface
- Unlink the file created for the socket when deleting vhost interface
if we are the server mode.
- Remove all vhost interfaces when VPP process is exitting.

Change-Id: Id9b676cd027bbd67b473bbd01901d1ecc4d8e6cb
Signed-off-by: Steven <sluong@cisco.com>
2017-04-24 14:46:10 +00:00
636815199a Debug CLI to magically create / delete a TCP session
The session ends up in established state, and is hand-crafted to look
like it was created by the builtin_server.

This will come in handy for injecting packets into tcp46-established,
along with ancillary debug CLI to adjust connection parameters.

Immediate applications include screwball window cases, out of order
segments, paws checking, and so on and so forth.

Debug CLI script:

loop create
set int ip address loop0 6.0.1.1/8
set int state loop0 up
set ip arp loop0 6.0.1.2 feed.face.babe
test tcp server
test tcp session

packet-generator new {
  name tcp
  limit 1
  node ip4-input
  size 100-100
  interface loop0
  no-recycle
  data {
    TCP: 6.0.1.2 -> 6.0.1.1
    TCP: 11234 -> 1234
    ACK window 2000
    seqnum 0
    acknum 0
    incrementing 100
  }
}

Change-Id: I866c2159376064b7d14f70531022c1fe949258c2
Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-24 13:24:58 +00:00
b68ad1e99f make test: mark all BFD tests as extended
Change-Id: Iaed59cca1c9fd69eadb86c15be6417a956cb9d5a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-24 13:24:32 +00:00
f12a83f54f Improve Load-Balance MAPs
- only build them for popular path-lists (where popular means more than 64 children)
   the reason to have a map is to improve convergence speed for recursive prefixes - if there are only a few this technique is not needed
- only build them when there is at least one path that has recursive constraints, i.e. a path that can 'fail' in a PIC scenario.
- Use the MAPS in the switch path.
- PIC test cases for functionality (not convergence performance)

Change-Id: I70705444c8469d22b07ae34be82cfb6a01358e10
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-24 12:06:48 +00:00
a546481752 Session layer improvements
Among others:
- Moved app event queue to shared memory segment
- Use private memory segment for builtin apps
- Remove pid from svm fifo
- Protect session fifo (de)allocation
- Use fifo event for session disconnects
- Have session queue node poll in all wk threads

Change-Id: I89dbf7fdfebef12f5ef2b34ba3ef3c2c07f49ff2
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-24 12:02:14 +00:00
bc66a9122f Fix multicast enable on the bonded interface
Multicast enable flag should be set when the bonded interface is up.
This flag allows multicast packets to be processed from the slave devices
of the bonded interface. Also promiscuous mode for all-multicast should
be correctly displayed as part of 'show hardware detail' output.

Change-Id: Ief0157c4c030a28afb9c45ebf3d6a12710083724
Signed-off-by: Steve Shin <jonshin@cisco.com>
2017-04-22 06:58:23 -07:00
77819f6ab4 [VPP-703]uri_tcp_test segment fault when mp->retval reply -30
Change-Id: I9d2e1f3434f66d9ae9cf40fe9043d0c4b384ef44
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-21 15:00:03 +00:00
db42b7bdef [VPP-704]./uri_tcp_test slave , uri test segment fault
Change-Id: I19dcc3fcf85c63dc7a7f35e023f6269c9f233d3b
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-21 14:57:07 +00:00
e212506138 [vpp-705]uri_cli issue:show session get nothing tips when session management disable
Change-Id: I6844732adcfdd534512f0925059d92b70dcdc080
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-21 14:56:03 +00:00
9c2b9f413c vlib: add cli command to dump all CLI commands
To be used for bash completion

Change-Id: I8f4702f24c2b7e223945e00a1b3560dec6ef39fd
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-21 14:49:28 +00:00
658efd2fc9 vppinfra: clib_memcpy improvement
In the case where n is a constant 16 bytes, the second load/store is
ignored by the load/store unit - it has neglible/zero cost. In the case
where  n is variable and greater than 512 bytes, the extra if (n == 16)
branch has a very small performance impact.

Change-Id: I04b313cf022c18fee31b1d9bcf6a128414659a99
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2017-04-21 11:26:39 +01:00
2f2db1c202 CGN: IPFIX logging
maximum entries per user exceeded event

Change-Id: Ie35d7f40f55001e2ef4a38f934f176594f25b189
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-04-21 08:21:45 +00:00
5fec1e8b22 vpp-api: rename libpneum to libvppapiclient
Change-Id: Ie6d2c769b316b43c40632aa9009c4ff6442cf658
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-20 15:50:11 +00:00
e9a4034b34 docs: Forward-port missing 17.01 release notes
Change-Id: I834df7661d2cc80c18f3879bb30e26091c28064f
Signed-off-by: Chris Luke <chrisy@flirble.org>
2017-04-20 14:16:37 +00:00
3cfa558a24 make test: improve bfd reliability
Change-Id: Iaf446a2d7d8e595c3379fb9ed61a954351c17b90
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-20 13:29:09 +00:00
48009e4c57 Move vagrant stuff to extras/
Change-Id: I7e3d6ecc3f23d862004c273e23e36e234ceb6015
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-20 12:57:33 +00:00
686c1c8454 Extend ebuild to specify "configure" subdir, enable verify for sample-plugin
Change-Id: I2056e5d19bc3713e7a13e015dabf3b2431800973
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-20 11:30:28 +00:00
f1ff5ff104 Temporary workaround for the bug VPP-698.
Change-Id: I220b0b95449f24cc547206e38ab8e10019115ec0
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
2017-04-20 09:03:56 +00:00
24beb84040 Clean up old datapath code in ACL plugin.
Change-Id: I3d64d5ced38a68f3fa208be00c49d20c4e6d4d0e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-04-20 08:58:12 +00:00
0bc5063ae9 disable extended BFD tests in verify job
Change-Id: I14484137fde8d6e77fc5905943657089347629fb
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-19 20:24:21 +00:00
2a3ea49d5c Learn IP6 link-local ND entries from NSs sourced from link-local address
Change-Id: I4c3ce4d58df7977490fc94991291422ea1e31ee3
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-19 20:23:34 +00:00
c06eeb0e3c Fix "make dist" to include version number, docouple it from rpm packaging
Change-Id: If2f9976d668089026c97b897cf449bff09050631
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-19 20:16:14 +00:00
b59a705552 Add more svm fifo unit tests
Change-Id: Ifc07b3f90ac155c26c3a216e073b474b499ebd44
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-19 09:05:28 +00:00
937bf30183 make test: python interpreter customization
Allow using custom python interpreter via 'PYTHON' env variable.
E.g. env PYTHON=pypy make test.
Get latest pip automatically to properly function in environments,
where old pip is available and a proxy is required. This allows
testing pypy in a centos vagrant-provided vm.

Change-Id: I67a658fc927303468cc67f0ac192317ca2907625
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-19 07:12:23 +00:00
d367768270 Support ping from outside network in 1:1 NAT (VPP-695)
Change-Id: Iec8fd4c2bd26874bd8bda82172af797e9b92592c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-04-19 07:06:16 +00:00
977c1cbc1d CGN: additional tests
Change-Id: Ib9ae10e0fdc6de08120d92c3eebd76e71b379a06
Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-19 07:05:17 +00:00
994dab4055 Memory leak in load-balance maps
Change-Id: Iec67ae1232e346d5e0000e0b4c997fdc31865bc6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-18 19:57:31 +00:00
e7b6734bc9 ACL-plugin does not match UDP next-header, VPP-687
Change-Id: Ide4f9bd6158fb64d069540fb43f4e593e39d6ff3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-04-18 19:35:59 +00:00
1f75cfd733 Fix fifo ooo bugs and improve testing
Change-Id: If3c01e318bcb740ca5b240c63f712e2167082a80
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-18 17:02:41 +00:00
fb5b2af2c0 Socket API echo server
Change-Id: I67ee8bbcad12e272193ac9e5bc6e39c43ce453ed
Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-17 15:57:03 -04:00
5921f98635 Set lower bound on persist timer
Change-Id: Ie98ecb8944e4d27e943797948fad41ec074d6720
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-15 12:15:35 -07:00
6cf260cb2a tcp: completed trace functions
* Populated the trace struct that weren't used before
* Modified and created format functions to format tcp packets and
connections
* Completed the node definitions to add the format_trace function
* Filled the tracing parts with `vlib_add_trace' calls in each tcp node
function

For the nodes in tcp_input.c, there is a verbose trace and a non-verbose
trace. Each packet goes through tcp[4-6]-input which is traced with
`format_tcp_rx_trace', and the other nodes are traced with
`format_tcp_rx_trace_short'.

Change-Id: I4f2eed023f5973c14343132a33b06131cf063aa2
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
2017-04-14 11:56:16 +00:00
6cf30adc2c Session layer refactoring
Major refactoring of the session layer api
- Add attatch api for application binding to the the session layer
- Simplify listen/connect calls
- Update application CLI
- Add transport endpoint to accept callback
- Associate segment manager to application and allow for multiple
  binds/connects per app

Additional:
- svm fifo cleanup
- add fifo free, format fns
- add fifo offset enqueue unit test

Change-Id: Id93a65047de61afc2bf3d58c9b544339c02065af
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-13 18:35:50 -07:00
0f7d2ff58a tcp builtin_client: bug correction and short_help
The missing call to `vnet_session_enable_disable' would cause segfaults
because of an uninitialized session pointer. Just as in the builtin
server the session needs to be enabled for the client.

The `short_help' of the CLI command was also populated with the
arguments that are accepted in the parsing function
`test_tcp_clients_command_fn'.

Change-Id: I88c16efa80597dd19b406e8cf1c87aec1ec73573
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-04-13 21:41:46 +00:00
a055830718 Remove unsed parameter from fib_table_entry_special_add() (only used in FIB tests). The DPO was incorrectly initialised with FIB_PROTO_MAX
Change-Id: I962df9e162e4dfb6837a5ce79ea795d5ff2d7315
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-13 02:44:51 -07:00
2151191e06 LISP: make statistics thread safe
Change-Id: I056dc6246f79d887d69ad459a6b8b3092a099baa
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-13 08:43:06 +00:00