aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-12-02vppinfra: c11 safe string functionsSteven4-25/+2682
Add memcmp_s, strcmp_s, strncmp_s, strcpy_s, strncpy_s, strcat_s, strncat_s, strtok_s, strnlen_s, and strstr_s C11 safe string API. For migrating extant unsafe API, add also the corresponding macro version of each safe API, clib_memcmp, clib_strcmp, etc. In general, the benefits of the safe string APIs are to provide null pointer checks, add additional argument to specify the string length of the passed string rather than relying on the null terminated character, and src/dest overlap checking for the the string copy operations. The macro version of the API takes the same number of arguments as the unsafe API to provide easy migration. However, it does not usually provide the full aformentioned benefits. In some cases, it is necessary to move to the safe API rather than using the macro in order to avoid some unpredictable problems such as accessing memory beyond what it is intended due to the lack of the passed string length. dbarach: add a "make test" vector, and a doxygen file header cookie. Change-Id: I5cd79b8928dcf76a79bf3f0b8cbc1a8f24942f4c Signed-off-by: Steven <sluong@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2018-12-01ip_reassembly_enable_disable reply handler name is changed.Chore1-1/+1
Change-Id: I89be597376690bb75c4347bcfc1c6c3d27c4034c Signed-off-by: Chore <s3m2e1.6star@gmail.com>
2018-12-01dpdk-ipsec-mempool: allocate from dpdk mem specified by socket-mem in ↵Kingwel Xie1-22/+17
startup.conf otherwise, these pools will occupy an entire huge page for each even they are very small. Change-Id: I08919714de9b6cd4b8dddb546ca54364b56ec99f Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-12-01Delete shared memory segment files when vpp startsDave Barach3-3/+23
Should have been done this way years ago. My bad. Change-Id: Ic7bf937fb6c4dc5c1b6ae64f2ecf8608b62e7039 Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-30Fix L2BD arp termination Test CasePaul Vinciguerra1-3/+7
============================================================================== L2BD arp termination Test Case ============================================================================== 12:02:21,850 Couldn't stat : /tmp/vpp-unittest-TestL2bdArpTerm-_h44qo/stats.sock L2BD arp term - add 5 hosts, verify arp responses OK L2BD arp term - delete 3 hosts, verify arp responses OK L2BD arp term - recreate BD1, readd 3 hosts, verify arp responses OK L2BD arp term - 2 IP4 addrs per host OK L2BD arp term - create and update 10 IP4-mac pairs OK L2BD arp/ND term - hosts with both ip4/ip6 OK L2BD ND term - Add and Del hosts, verify ND replies OK L2BD ND term - Add and update IP+mac, verify ND replies OK L2BD arp term - send garps, verify arp event reports OK L2BD arp term - send duplicate garps, verify suppression OK L2BD arp term - disable ip4 arp events,send garps, verify no events OK L2BD ND term - send NS packets verify reports OK L2BD ND term - send duplicate ns, verify suppression OK L2BD ND term - disable ip4 arp events,send ns, verify no events OK ============================================================================== TEST RESULTS: Scheduled tests: 14 Executed tests: 14 Passed tests: 14 ============================================================================== Test run was successful Change-Id: I6bb1ced11b88080ffaa845d22b0bc471c4f91683 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-30Metadata / opaque formatting belongs in vppDave Barach10-862/+526
VPP graph dispatch trace record description: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Major Version | Minor Version | NStrings | ProtoHint | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Buffer index (big endian) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + VPP graph node name ... ... | NULL octet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Buffer Metadata ... ... | NULL octet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Buffer Opaque ... ... | NULL octet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Buffer Opaque 2 ... ... | NULL octet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VPP ASCII packet trace (if NStrings > 4) | NULL octet | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Packet data (up to 16K) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Graph dispatch records comprise a version stamp, an indication of how many NULL-terminated strings will follow the record header, and a protocol hint. The buffer index allows downstream consumers of these data to easily filter/track single packets as they traverse the forwarding graph. FWIW, the 32-bit buffer index is stored in big endian format. As of this writing, major version = 1, minor version = 0. Nstrings will be either 4 or 5. Here is the current set of protocol hints: typedef enum { VLIB_NODE_PROTO_HINT_NONE = 0, VLIB_NODE_PROTO_HINT_ETHERNET, VLIB_NODE_PROTO_HINT_IP4, VLIB_NODE_PROTO_HINT_IP6, VLIB_NODE_PROTO_HINT_TCP, VLIB_NODE_PROTO_HINT_UDP, VLIB_NODE_N_PROTO_HINTS, } vlib_node_proto_hint_t; Example: VLIB_NODE_PROTO_HINT_IP6 means that the first octet of packet data SHOULD be 0x60, and should begin an ipv6 packet header. Change-Id: Idf310bad80cc0e4207394c80f18db5f77c378741 Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-30coding-style: missing coding-style-patchKingwel Xie1-168/+200
fix coding style Change-Id: I458d81fa80c509b71edb2021468a89715cb32ae3 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-30IPSEC-AH: fix packet dropNeale Ranns2-7/+0
Change-Id: I45b97cfd0c3785bfbf6d142d362bd3d4d56bae00 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-30make test: print TEST= values for failed testsKlement Sekera1-4/+4
This prints the format strings required to rerun the failed test next to the failures. Change-Id: I973d8ae025f026129826356bce265b1e70086d2f Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-30GBP: UT more robust for endpoint timeoutNeale Ranns1-16/+17
Change-Id: Ib78c747fa3e304f7158f8182d060e11e4e778400 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-30vcl/test: increase wait time before connectFlorin Coras1-10/+66
Also split tests into smaller groups Change-Id: I35809607b7a59029606bb34b90cfeffd1985fe60 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-30vcl: wait for segments with segment handleFlorin Coras10-71/+154
Instead of waiting for notification from binary api. Change-Id: I5ecab857d6bcdbed62d6bb06709570c4cf6b19ea Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-30API: Add dependency on compiler for API .json and .api generation.Ole Troan1-2/+2
Add dependency on the API compiler, so that builds can deal with changes to the tool. Change-Id: I2587235fefa93a69955495870d49f36b4203bfea Signed-off-by: Ole Troan <ot@cisco.com>
2018-11-30Tests: Fix traceback.Paul Vinciguerra3-129/+182
self.assertTrue(packet.haslayer(msg_type)) File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue raise self.failureException(msg) AssertionError: 0 is not true * Scapy packet.haslayer() returns 1 or 0. Replace with assertEqual(packet.haslayer(), 1) to fix tracebacks. * Scapy has multiple layers called TCP/UDP Specify the module name to prevent namespace collisions. * Remove duplicate import. Change-Id: I600f9f330075cd40e1da50f8b2ceb24f645f2c20 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-30session: segment handle in accept/connect notificationsFlorin Coras19-50/+122
Change-Id: I03884b6cde9d4c38ae13d1994fd8d37d44016ef0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-30session: use endpt fib index if app in default nsJohn Lo1-1/+6
Change-Id: Icf1408c50a6438c81e16033e83b2a76ce6eb0166 Signed-off-by: John Lo <loj@cisco.com> Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29GRE: UT uses new pkt send functionsNeale Ranns1-108/+23
Change-Id: Icb1767b31421aa1e427498adc82d79307835ee1a Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29make test: verify packet counters in ipsec testsKlement Sekera1-0/+16
Change-Id: Ia15b40f9d91daf3a325cb8d707b22a1dbc68d9cc Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-29do not opttimize graph node functions in debug buildsDamjan Marion1-1/+1
Change-Id: I5b4cd419d317381a06e7e6d703373959f4bbd97b Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-29DHCP: Initialise trace for copied buffers.Ole Troan2-0/+4
DHCP tests failed intermittantly with a core dump. Let's see if this fixes it. Change-Id: I42829a2c7e7f5a9a6775330d37bf972ff0008210 Signed-off-by: Ole Troan <ot@cisco.com>
2018-11-29vpp_papi: Add custom exceptions.Paul Vinciguerra6-54/+121
This patchset adds and raises the following custom exception classes: * class VPPApiError(Exception): * class VPPNotImplementedError(NotImplementedError): * class VPPIOError(IOError): * class VPPRuntimeError(RuntimeError): * class VPPValueError(ValueError): * class VPPSerializerValueError(ValueError): * class VPPStatsIOError(IOError): * class VPPStatsClientLoadError(RuntimeError): * class VppTransportShmemIOError(IOError): * class VppTransportSocketIOError(IOError) Change-Id: Ia40900fd2dcef148d01125d6c691329fc666901e Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-29vpp_papi: Fix: raise NotImplemented.Paul Vinciguerra1-1/+1
'raise NotImplemented' should be 'raise NotImplementedError'. NotImplemented is not part of the Exception heirarchy. Change-Id: I7fb647f1d56e689fafa2cd9a5566da826def072b Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-29Trivial: test_container.pyPaul Vinciguerra1-4/+4
First argument of a classmethod should be named 'cls'. Change-Id: Iff4b8d856e57c13a3404dbf6780c1d4add45b36a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-29Trivial: test/test_ipip.pyPaul Vinciguerra1-3/+3
First argument of a method should be named 'self'. Change-Id: I7260916ce9d96108202b650dbf7ac8ce4b3aafdc Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-29VOM: missing GBP symbolNeale Ranns1-1/+2
Change-Id: I6cbed0bce7c78970d5a22ac823d0380d14b73dbc Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29api: ip_source_check_interface_add_del api is added.Chore2-0/+48
Change-Id: I4799a9d469c797e54669ff4b50851a9acc849427 Signed-off-by: Chore <s3m2e1.6star@gmail.com>
2018-11-29VOM: deprecate TAP add ip-punt redirect dumpNeale Ranns13-297/+174
Change-Id: I675e04d9f8bb2a18293cf6dd01581a9dc62882fe Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29GBP: l3-out subnetsNeale Ranns31-291/+1955
Change-Id: Id4a20066fc5be716c61a497dfcb4d00dc1dbb28d Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29gbp: Add support for flow hash profileMohsin Kazmi3-67/+185
Change-Id: Ibea87f21b3403045cc0d865903b94396fe670e79 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-11-29NAT: syslog - sessions logging (VPP-1139)Matus Fabian12-3/+636
Change-Id: I6e0b7cf37c1a9ac66f8ac011db29504e57844ee9 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-11-29test: use smaller timeouts for vcl/ldp testsFlorin Coras1-18/+18
Change-Id: Idebd110cbf5f0ddc5d9da5a1975b5d278825d131 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29vcl: basic support for apps that forkFlorin Coras10-168/+358
- intercept fork and register a new worker with vpp - share sessions between parent and forked child - keep binary api state per worker Change-Id: Ib177517d661724fa042bd2d98d18e777056352a2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29GRE: fix VRF unit-testsNeale Ranns1-3/+8
Change-Id: Ic6d011065bf062a84fdccdb1726ed3e5ed99cfbc Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29VPP-1507: Added binary api to dump configured ip_punt_redirectPavel Kotucek9-60/+310
Change-Id: I790f7785e183cc9aaffd5b593617c4e12a32e20d Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2018-11-29ldp: basic multiworker supportFlorin Coras3-119/+170
Change-Id: Ia794fa7e15dac02c8607c4cee2f119ad9815c0a8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29vppinfra: add pool_dup macroFlorin Coras1-0/+35
Change-Id: I192e340bd072d27bf6ddc382347ad5c3ca411bad Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29Export ethernet/mac_address.h as part of API installation.Jon Loeliger1-0/+1
Change-Id: Ibb6d648948f990280e3cb048ce907f01e5c32b12 Signed-off-by: Jon Loeliger <jdl@netgate.com>
2018-11-29make test: create virtualenv under /test/Klement Sekera13-84/+89
instead of using build-root, use /test/venv directory for virtualenv similarly, don't pollute build-root with test-built binaries Change-Id: I1e63c04037eaee718b27b34ef16c9eb0252afa53 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-29dpdk-ipsec-nodes multiarch: nodes are formatted in VLIB_NODE_FN styleKingwel Xie4-13/+24
crypto-input,esp encrypt/decrypt are indicated in CMakefiles Change-Id: I18ba851c1d4e5633d07c5de61cdaeae938e94982 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-29dpdk: bump to DPDK 18.11Damjan Marion2-50/+7
Change-Id: Ib6458e56f546bb5b11c23aa5e1afe0f4b5011c08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-29MAP: Use bool type in map.api instead of u8.Ole Troan1-5/+5
Change-Id: I4e40bb6d6bf274a27892053f37aeeb81a7278965 Signed-off-by: Ole Troan <ot@cisco.com>
2018-11-29vppapigen: Fix python3 compatibilityOle Troan1-24/+40
Change-Id: I9124fcb755ba43fd8f44712f0940f351c460c5b0 Signed-off-by: Ole Troan <ot@cisco.com>
2018-11-29API: Add support for type aliasesOle Troan13-32/+179
Previously all types are compound. This adds support for aliases, so one can do things like: typedef u32 interface_index; or typedef u8 ip4_address[4]; Change-Id: I0455cad0123fc88acb491d2a3ea2725426bdb246 Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-29ipsec: move ipsec defs to ipsec.hKlement Sekera2-51/+54
Change-Id: Ia3dcd98edb6188deb96a3a99d831e71b2ffa0060 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-29VPP-1508: vpp_transport_socket.py fix importPaul Vinciguerra1-1/+4
Import queue in an py2-py3 compatable way. Change-Id: I83f166a959c4ee55438e3997edbcb596dc72059f Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-28Use acquire/release ordering when accessing svm_fifo shared variable cursizeSirshak Das3-8/+12
Improves TCP iperf3 performance by ~3% on AArch64. Change-Id: I1e51bd8403ba45ec6af4c2f96b95e884c1ae0d67 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-28vpp_papi: Reserved keywords.Paul Vinciguerra2-3/+3
'async' and 'await' are reserved keywords starting with Python 3.7. This change is necessary to support VPP-1508. Change-Id: Iba2b3aef98a0ecaabc1622719b364f8f4ab5d5a3 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-28pmalloc: fix shared hugepage backed mmap on older kernelsDamjan Marion0-0/+0
Usual suspect, CentOS 7. Kernel doens't like MAP_HUGETLB to be set together with MAP_SHARED even if we are mapping hugetlb backed file. Change-Id: I6bb0fe14e9e42286963bb648840279942b2e8307 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-28dpdk: allow interface name to be specified from startup.confDamjan Marion4-4/+20
Example: dpdk { dev 0000:01:00.0 { name eth0 } dev 0000:02:00.0 { name eth1 } } Change-Id: I11e60e969a7e3548c99ac0c0c3531767819cb157 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-28cmake: display warning and continue if dpdk not presentDamjan Marion2-4/+9
Change-Id: I5cb2619444507a159c42ac8401800e90b6541a20 Signed-off-by: Damjan Marion <damarion@cisco.com>