215 Commits

Author SHA1 Message Date
Andrew Yourtchenko
02da3a792c Update version (19.01) for API changes script
Change-Id: I9c39b5076d366b3455a875df32765b2cb8f3eca2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-01-30 18:39:56 +00:00
Neale Ranns
46da5e33a3 VOM: ip-mroute inspect register handler fix
Change-Id: I57689446005da00fa064e2938cfe55a9e1cef9fc
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d870ce441272d7057c8cb2b8f9731ebe41a17f0a)
2019-01-20 10:27:57 +00:00
Dave Barach
f599931862 DOC ONLY: update readme.md
Remove the source code, replace with reference to the upstreamed
patch.

Change-Id: I6f5430b1e9804530afbec1805353852e1da745d6
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-16 08:22:19 -05:00
Paul Vinciguerra
339bc6b51d vpp_config: Rework for Python2/3 compatibility.
On ubuntu:
   $cd <basedir>/extras/vpp_config
   $./scripts/clean.sh
   $./scripts/cp-data.sh
   $sudo apt-get install python3-pip python3-setuptools
   $python3 -m pip install .
   $vpp-config

Changes:
   * Convert to print() function.
   * raw_input changes.
   * floor division changes.
   * replace vpp-config.py with a setuptools 'vpp-config' entry_point.
   * replace netaddr with ipaddress from the standard library and backport.
   * .decode() subprocess.Popen's stdout because in python3 they are bytes.

Change-Id: Id98894ee54e0c31a0ba0304134b159caef415705
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-10 21:26:08 +00:00
Neale Ranns
6ad7231c00 VOM: IP route ECMP support
Change-Id: Iede0c30aacfe7289f428062bb9540410097c40e2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-10 21:01:43 +00:00
Dave Barach
7b01e9e897 Use the official libpcap file type
Change-Id: Ia34a4278eedc8cf450688b1fa0291e1f976868d3
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-09 10:23:16 -05:00
Neale Ranns
7c03ed47d5 VOM: mroutes
- fixes in ip.api for dumping mroute path flags

Change-Id: I13b0cfb15d374250ed71bd4e13dda9b798c18204
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-07 21:56:08 +00:00
Koichiro Den
33331edd3a libmemif: fix incorrect write leading to memory corruption
in the worst case scenario this leads to segfault in a hard-to-debug way.

Change-Id: I165adae0bd2dee26af777a2665c8c124d3a49808
Signed-off-by: Koichiro Den <den@klaipeden.com>
2019-01-04 19:55:33 +00:00
Michal Cmarada
6ebc6eb3d2 VPP-1525: additional fixes for strings in Japi
Change-Id: Ic5aa09fdc360cdded16d3c4693f0d4b2067f66d6
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-01-04 13:29:25 +01:00
Neale Ranns
420c6bf1a7 GBP: fix dump and VOM populate
Change-Id: I5440d80333190ebac46d22eac43183939805a24b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-24 16:31:24 +00:00
Neale Ranns
d8cf40b8bb VOM: stats
- onnly read when connected. use bool for state
- operator<< for counter_t
- only publish stats for interfaces that have them available

Change-Id: I66a8a336a05912592851c88e3af69155d840a573
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-23 16:25:26 +00:00
Neale Ranns
1c17e2ecac GBP: add allowed ethertypes to contracts
Change-Id: I74782d3b9b71a071bb500c34866a017b8ee15767
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-21 18:12:25 +00:00
Neale Ranns
a8ac77f470 VOM: stats fixes
- double free of m_stat_data_seg
- cleanup typedefs

Change-Id: I6aeb070471b6c5c97ac4379d01bd242136f80091
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-19 17:51:01 +00:00
Neale Ranns
4079161fd9 VOM: VXLAN-GBP command fixes
Change-Id: Ie1c672a83bca15ce7b6b9354ede1f36f8fef8e74
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-19 15:27:10 +00:00
Neale Ranns
0f144378fb VOM: GBP-bridge-domain fix
Change-Id: I504efbf214d891f4be2f1658a90a19b13764ab37
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-19 15:26:53 +00:00
jdenisco
b0b9dadc5c Allow the user to select master or release during the install
Change-Id: Ifef937c4347ba40bde55958f93f2d1720996539f
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-12-19 07:25:12 +00:00
Ole Troan
003d5da298 VAPI/VOM: Removing legacy stats tests, add string type.
Fix misc VAPI/VOM generation and test cases.

Change-Id: I1abf9ecdb6f8a2129f11e0a9ed1c0fe04cdf5c47
Signed-off-by: Ole Troan <ot@cisco.com>
2018-12-18 13:30:40 +00:00
Thomas F Herbert
6eb61639de Build changes required for Fedora and CentOS
VPP-1511

cmake is the dep for Fedora but cmake3 is for CentOS 7.
Centos: explicitly install epel-release on Centos.
Epel requirement is now explicit for cmake3, and ninja-build.
Remove references to Fedora 25 which is EOL.

Change-Id: I1548ddf2e5421097ac0ddc2d99abce7582d0d593
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-12-18 12:43:33 +00:00
Ole Troan
8006c6aa42 PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
Change the definition of vl_api_mac_address_t to an aliased type.

Change-Id: I1434f316d0fad6a099592f39bceeb8faeaf1d134
Signed-off-by: Ole Troan <ot@cisco.com>
2018-12-18 11:54:24 +00:00
Mauro Sardara
ec0cc2cf05 Remove autotools files from extras/libmemif
Change-Id: I6c5f7ab5bb6c0022746d3feedd71b5981f31c7fb
Signed-off-by: Mauro Sardara <msardara+fdio@cisco.com>
2018-12-18 09:35:08 +00:00
Neale Ranns
66b48a9c61 VOM: IGMP only supports IPv4
Change-Id: Ie0a8898fa2d8ab71522686fb83fb1de959ee3098
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-17 16:30:50 +00:00
Koichiro Den
be420e59e9 libmemif: fix possible segfault on memif_get_details
insufficient buflen does not mean immediate return but
fallthrough by design so assigning values to these
array elements should just be skipped in that case.

Change-Id: Iaa9718db073108e44a9b05e1c8ffb0725147ff1f
Signed-off-by: Koichiro Den <den@klaipeden.com>
2018-12-17 10:52:34 +00:00
msardara
8f554b793c Added CMake building system for libmemif
Added Cpack support for building libmemif DEB/RPM packages
Fixed compilation errors in libmemif test and examples

Change-Id: I59a237a4ca8eb08840857d5b0e666f3a8d74411d
Signed-off-by: msardara <msardara+fdio@cisco.com>
2018-12-17 09:25:18 +00:00
Neale Ranns
7e70ff52c1 VOM: fixes for stats
Change-Id: I62582123361e091e79bbcc6d71794c6f76216b25
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-16 00:59:53 +00:00
Ole Troan
413f4a5b21 API: Use string type instead of u8.
The new string type is modelled after string in proto3.
It is always variable length.

Change-Id: I64884067e28a80072c8dac31b7c7c82d6e306051
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
2018-12-13 12:11:50 +00:00
Mohsin Kazmi
51edc3ab01 vom: Add support for new stats
This patch deprecates old stats and adds support for
new stats.

This implements the PULL design where client will enable
stats on objects (i.e. interfaces, etc), register a call
back function which will run once stats will be ready for
enabled object and call HW::read_stats() periodically to
read stats for enabled objects from VPP.

Change-Id: I32525a417427be87408d01f8bc93a731602ff690
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-12-13 07:46:02 +00:00
Neale Ranns
cf3ecb1a42 VOM: vxlan-tunnel takes egress interface for multicast
Change-Id: I23b44d883fbd7919bf55b96b180f97837fd6dae9
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-12 12:05:49 +00:00
Neale Ranns
193c47d900 VOM: vxlan-gbp
Change-Id: I5f4464435f1346207f2f9b497369795eb82b58b6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-10 17:50:09 +00:00
Koren Lev
f3b7a5e47a vpp_if_stats: Fixing a bug in getting vpp interfaces indexes
Change-Id: I6290945a94b4f7878e9af94cc7daec455327482e
Signed-off-by: Koren Lev <korenlev@gmail.com>
2018-12-07 10:42:00 +00:00
Mohsin Kazmi
920fd77e9c vom: Fix the api type definition
Change-Id: I1e5f5a0d60745a42e6efaab3b6eb49b6b0e74e36
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-12-07 09:42:34 +00:00
Ole Troan
8c8acc0278 API: Change ip4_address and ip6_address to use type alias.
Change-Id: Id8669bbadd1d6b2054865a310a654e9b38d1667d
Signed-off-by: Ole Troan <ot@cisco.com>
2018-12-06 14:05:04 +00:00
Michal Cmarada
1f0dd7a066 Update japi to support type aliases
Change-Id: I6d6068d641d4c91e5c5b52eefb898affc5c0d2c0
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2018-12-06 14:04:44 +00:00
Neale Ranns
7e9affb696 VOM: interface event struct
Change-Id: If133829ba4db2da1c9c20bfbbdfc6df6276efa10
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-12-05 14:30:02 +00:00
Dave Barach
7fff3d2054 Metadata / opaque formatting belongs in vpp
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-30 20:18:54 +00:00
Neale Ranns
c9aa7db825 VOM: missing GBP symbol
Change-Id: I6cbed0bce7c78970d5a22ac823d0380d14b73dbc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29 06:39:08 -08:00
Neale Ranns
8e1cc46b2b VOM: deprecate TAP add ip-punt redirect dump
Change-Id: I675e04d9f8bb2a18293cf6dd01581a9dc62882fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29 13:44:12 +00:00
Neale Ranns
b6a4795397 GBP: l3-out subnets
Change-Id: Id4a20066fc5be716c61a497dfcb4d00dc1dbb28d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29 12:36:30 +00:00
Pavel Kotucek
609e1210c6 VPP-1507: Added binary api to dump configured ip_punt_redirect
Change-Id: I790f7785e183cc9aaffd5b593617c4e12a32e20d
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2018-11-29 08:49:17 +00:00
Ole Troan
53fffa1db7 API: Add support for type aliases
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-29 07:39:22 +00:00
Dave Barach
f970d2f8c6 Minor tweaks
Significant refit coming soon.

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If7d196e84354c5088706e2ac81e2add42597a550
2018-11-26 18:36:14 -05:00
Dave Barach
c2b4dc5981 Use a dissector table instead of strcmp
... to map vpp node names to dissector handles.

Wireshark has an easy-to-use string to dissector function handle
hashing scheme, so use it. Thanks to Guy Harris for writing up the
incantation.

Change-Id: I6c1eb609332b0afe87154ba447a98f783e13ca68
Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-25 16:47:45 +00:00
Onong Tayeng
9b0ce0215b Fix permission for vpp_papi
The permission for the top-level vpp_papi dir under
/usr/lib/python2.7/site-packages is set to 644 which means that
non-root users cannot import vpp_papi. As a result, devstack setup
with VPP/networking-vpp fails since it is run as non-root user.

Change-Id: Id85b468b2dcc92efb3a64c51ffb23ef6d596e4ad
Signed-off-by: Onong Tayeng <otayeng@cisco.com>
2018-11-23 11:43:46 +00:00
Koren Lev
19ca78fbd7 stats: golang vpp_if_stats_client
see README for details

Change-Id: Ida603ccaee21dabc903512699b5b355cebb70320
Signed-off-by: Koren Lev <korenlev@gmail.com>
2018-11-22 06:31:30 +00:00
Dave Barach
1dda386e67 Add wireshark dissector to extras
See extras/wireshark/readme.md for a quick writeup.

Change-Id: Id48d198aa2f1d643d0587947fe9c3fd62b613a9f
Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-11-20 20:16:25 -05:00
jdenisco
7c37a67fda Fix inspection for 18.10, requirements
Change-Id: I1ecc278f43afff184a26f6f18fe22a49d8916eb1
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-11-20 17:24:29 +00:00
Mohsin Kazmi
33b81da54a vom: Add support for redirect contracts in gbp
Change-Id: I18543785166811ddbd628d19065d3dfad3f948e9
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-11-20 11:05:44 +00:00
Neale Ranns
13a08cc098 GBP: redirect contracts
Change-Id: I463b153de93cfec29a9c15e8e84e41f6003d4c5f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-15 17:22:55 +00:00
Michal Cmarada
feb7092544 VPP-1477: Replace DatatypeConverter.printHexBinary with bytesToHex
As of Java 11 javax.xml.bind.DatatypeConverter is no longer part of
standard Java distribution, therefore it is replaced by equivalent method.


Change-Id: I51726d0d0d02782bd3bb1dbdc54df5bd63bd8f15
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2018-11-14 17:18:57 +00:00
jdenisco
24010fbaa0 docs and Config utility, package cloud support
Change-Id: I61303242b73e509df42dedba54f2ee5906a7e526
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-11-13 23:14:28 +00:00
Mohsin Kazmi
24195081f1 japi: Move Java API binding to cmake
Change-Id: I264d547a06e3636d021a74cd26efb8137f629cbc
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2018-11-13 16:13:24 +00:00