Commit Graph

324 Commits

Author SHA1 Message Date
Mohsin Kazmi
d3125833d5 vom: Add support for vtr in xconnect
Change-Id: Ib168a1d20c4609e4e64f472f75e9463161638e3e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-13 04:52:36 -08:00
Neale Ranns
6fef74ad30 VOM: neighbour API flags
Change-Id: Ia664cd4c77f1c5b4bc46c5e191bb57704b3ccc46
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-13 09:06:44 +00:00
Neale Ranns
2ff5b8decf VOM: vxlan_tunnel equals operator
Change-Id: I0e524b5d7c02a099b6ce84e6a0c116b19200879d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-05 16:44:49 +00:00
Andrew Yourtchenko
3a18f7b2bd Update version (19.01) for API changes script
Change-Id: I9c39b5076d366b3455a875df32765b2cb8f3eca2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 02da3a792c)
2019-01-31 19:25:05 +00:00
Damjan Marion
f4901f3d1d extras: vfctl script - bind VF to vfio-pci after VF is created
Change-Id: If6ed71a5f7217363d8e1b2f7a7f20fe4cfdb58af
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-31 19:44:14 +01:00
Neale Ranns
37029305c6 Use IP and MAC API types for neighbors
use address_t and mac_address_t for IPv6 and ARP entries
and all other API calls in ip.api aprat from the route ones,
that will follow in a separate commit

Change-Id: I67161737c2184d3f8fc1e79ebd2b55121c5b0191
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-30 19:47:53 +00:00
Damjan Marion
1aaf0e343b deprecate tapcli
Change-Id: I82dceaa27a7b0c96de077cf283e4f64aa426f271
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-25 20:51:37 +00:00
Neale Ranns
879d11c250 GBP: Sclass to src-epg conversions
Change-Id: Ica88268fd6a6ee01da7e9219bb4e81f22ed2fd4b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-22 14:37:51 +00:00
Neale Ranns
5e82b050a5 VOM: GBP bridge domain flags
Change-Id: Ib5e4a850e127dda51318ffe82ef2622b980bc947
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-22 07:17:43 +00:00
Neale Ranns
d870ce4412 VOM: ip-mroute inspect register handler fix
Change-Id: I57689446005da00fa064e2938cfe55a9e1cef9fc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-17 20:44:52 +00:00
Dave Barach
1d052d2ef2 DOC ONLY: wireshark dissector upstreamed
Remove the last remnant from extra/wireshark, update the Sphinx docs

Change-Id: I5886557f17192475c03fcb0dfde581e1e63cea5c
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-17 09:31:00 -05: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