Commit Graph

315 Commits

Author SHA1 Message Date
d170681b24 tests docs: upgrade python packages
- Upgrade python package requirements for test & docs
- Clean up docs generation warnings
- Consolidate python requirements for docs in test
  requirements specs.
- Upgrade pip

Type: make

Change-Id: I74a3924b43ed93d15b32ec9f6fc41ed1ba95b69b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-08-13 15:57:21 +00:00
dc22c839f0 tests: clean up gbp calls from vpp_papi_provider
Move info from vpp_papi_provider to .api/vpp_objects

Change-Id: Iaf46483fda2840dfec8d37e0b9262e1c9912be59
Type: test
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-04-26 06:05:52 +00:00
e263685ac8 tests: support attaching to existing vpp
Introduce a new option DEBUG=attach to run a test against existing
already running vpp. A new target 'make test-start-gdb' will spawn VPP
in gdb for this purpose. Customization options explained in test-help.

Type: improvement
Change-Id: Ia160a85b33da3b2df292d44bb95729af9dd9da96
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-12 10:11:36 +00:00
976b259be2 fib: Allow the creation of new source on the API
Type: feature

an client can dump the existing sources, examine their
priorities, then define thier own source.
Usefull if a client wants to distingusih between say, static,
ospf, bgp, etc routes it has added over the API.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I5158b4fa1ebe87381ff8707bb173217f56ea274a
2021-03-16 12:12:23 +00:00
4376ab2a92 tests: use socket transport instead of shared memory
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I9e65c94a5a05047a5104e9361ea36eac77b40442
Signed-off-by: Ole Troan <ot@cisco.com>
2021-03-15 17:23:53 +00:00
f2984bbb01 ip: use IPv6 flowlabel in flow hash computation
extends ip6_compute_flow_hash() to include IPv6 flowlabel in flowhash computation

Type: improvement

Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: Id1aaa20c9dac729c22b714eea1cdd6e9e4d1f75e
2021-01-21 10:59:46 +00:00
0f8d100354 l2: Separating scan-delay and learn-limit into a separate API from want_l2_macs_events
Type: feature

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: I6de6dae7da4ec1001e2811975a9b67acfc1a148c
2021-01-08 21:46:37 +00:00
2df2f75ec5 tests: remove ip_punt from vpp_papi_provider and add ip_punt object models
Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I1bf53c2554e6b313467f618717698ed158db9065
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-12-01 13:31:41 +01:00
6a2794ea2b tests: remove bond, pipe, session and api_namespace from vpp_papi_provider
Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I5052fc1fd82b5d17c1ed66fee5185addf60b9eb6
2020-11-24 11:24:53 +01:00
5c2a23720f tests: remove svs, proxy_arp and gso from vpp_papi_provider
Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I916a386af48fd558b4749e206b2bc4b82a888512
Signed-off-by: Ole Troan <ot@cisco.com>
2020-11-24 09:12:51 +00:00
041add7d12 ipsec: Tunnel SA DSCP behaviour
Type: feature

 - use tunnel_encap_decap_flags to control the copying of DSCP/ECN/etc
during IPSEC tunnel mode encap.
 - use DSCP value to have fixed encap value.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: If4f51fd4c1dcbb0422aac9bd078e5c14af5bf11f
2020-11-02 08:49:08 +00:00
abc5660c61 ipsec: User can choose the UDP source port
Type: feature

thus allowing NAT traversal,

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ie8650ceeb5074f98c68d2d90f6adc2f18afeba08
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-05-05 18:36:33 +00:00
0b0a84c403 tests: improve vpp_papi_provider exception output
saves time debugging tests by replacing 'API call' with
the actual function signature:

  vpp_papi_provider.UnexpectedApiReturnValueError: API call failed, expected 0 return value instead of -2 in vxlan_add_del_tunnel_reply(_0=247, context=5052, retval=-2, sw_if_index=4294967295)

  vpp_papi_provider.UnexpectedApiReturnValueError: vxlan_add_del_tunnel(is_add=0, src_address=172.16.1.1, dst_address=239.1.1.209, vni=209, sw_if_index=26, mcast_sw_if_index=1, encap_vrf_id=None, instance=None, decap_next_index=None) failed, expected 0 return value instead of -2 in vxlan_add_del_tunnel_reply(_0=247, context=5052, retval=-2, sw_if_index=4294967295)

Type: test

Change-Id: Ie3b6a5fdb4e1d427d60c51f7a7bf815af0bb3de6
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-05-03 13:52:46 -04:00
e64e5fff4d tests: implement ipaddress convenience methods
Add vpp specific properties to ip addresses for use in the api.
  .vapi_af  -- returns [ADDRESS_IP4, ADDRESS_IP6]
  .vapi_af_name -- returns the string ['ip4', 'ip6']

  Update tests to demonstrate usage.

Type: feature

Change-Id: I43447a1522769d99f89debdc714c51700068d771
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-04-28 15:43:28 +00:00
58db6e16cf lisp: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ib7f73a0b6de188982a09040f7739dc46be3cb1de
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-04-28 11:54:00 +00:00
c0e9441e79 tests: move defaults from defaultmapping to .api files
facilitates use of papi beyond the tests.

Type: improvement

Change-Id: I3d502d9130b81a7fb65ee69bb06fe55802b28a27
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-04-28 01:12:04 -04:00
2f8cd91451 acl: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I09fa6c1b6917936351bd376b56c414ce24488095
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-27 12:46:42 +00:00
492a5d0bd7 acl: revert acl: api cleanup
This reverts commit aad1ee1494.

Reason for revert: Verify failure. Doesn't build.

Type: fix
Change-Id: I91b1b26ac43edde4853e4561a0083d0b3a06efee
Signed-off-by: Ole Troan <ot@cisco.com>
2020-03-26 19:36:31 +01:00
aad1ee1494 acl: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: If90d753f129312400c4c3669bb86289d0c3e0d99
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-26 17:45:58 +00:00
0938eba153 sr: srv6 API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I3c348ad2fca8bb3d9a246af7a2aa9dc9c33f57c3
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-23 16:07:07 +00:00
cd01fb4237 policer: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ia14f33992353b419b70b55beed63ab8ed6a2e837
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-12 12:28:47 +00:00
145e330f01 l2: API cleanup
Use consistent API types.

Type: fix

Change-Id: I7ac7cd00606101864fa3422e7b9ea2f1143665dd
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-09 13:46:29 +00:00
b4e5e50fe8 session: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ib752a3425c076eb53bc5255a48039cbb74b1fcce
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-05 15:26:51 +00:00
00ec4019b3 sr: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I6238ec79b916c23c07c3f7e2ac8e635f5a0d6112
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-02-26 11:45:25 +00:00
e5b94dded0 gre: Tunnel encap/decap flags
Type: feature

common funcitons across IP-in-IP and GRE tunnels for encap/decap
functions

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I325b66824878d843af167adfe5a7a96b0ab90566
2020-01-30 20:12:19 +00:00
cbe25aab3b ip: Protocol Independent IP Neighbors
Type: feature

 - ip-neighbour: generic neighbour handling; APIs, DBs, event handling,
aging
 - arp: ARP protocol implementation
 - ip6-nd; IPv6 neighbor discovery implementation; separate ND,
MLD, RA
 - ip6-link; manage link-local addresses
 - l2-arp-term; events separated from IP neighbours, since they are not
the same.

vnet retains just enough education to perform ND/ARP packet
construction.
arp and ip6-nd to be moved to plugins soon.

Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 10:56:20 +00:00
55636cb623 gtpu: use explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I16fcbd5e63526dbf062a3032701479324fe2a4f5
2019-12-09 12:43:47 +00:00
04338e85ae pppoe: use explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ifd1e1907740e55420dc040eb2afbbbf9887aea3c
2019-12-07 11:18:58 +00:00
5f8f617332 gre: Multi-point interfaces
Type: feature

Change-Id: I0129ad6ace44a50a8a3b26db8e445cd06b2b49e8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-04 22:45:11 +00:00
692bfc85f2 classify: API cleanup
Use consistent API types.

Type: fix

Change-Id: Ib5b1efa76f0a9cecc0bc146f8f8a47c2442fc1db
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-03 14:53:47 +00:00
9db6ada779 fib: Table Replace
Type: feature

from the API doc, a table replace is:

"
    The use-case is that, for some unspecified reason, the control plane
    has a very different set of entries it wants in the table than VPP
    currently has. The CP would thus like to 'replace' VPP's current table
    only by specifying what the new set of entries shall be, i.e. it is not
    going to delete anything that already eixts.
    the CP delcartes the start of this procedure with this begin_replace
    API Call, and when it has populated all the entries it wants, it calls
    the below end_replace API. From this point on it is of coursce free
    to add and delete entries as usual.
    The underlying mechanism by which VPP implements this replace is
    purposefully left unspecified.
"

In the FIB, the algorithm is implemented using mark and sweep.

Algorithm goes:
1) replace_begin: this marks all the entries in that table as 'stale'
2) download all the entries that should be in this table
 - this clears the stale flag on those entries
3) signal the table converged: ip_table_replace_end
 - this removes all entries that are still stale

this procedure can be used when an agent first connects to VPP,
as an alternative to dump and diff state reconciliation.

Change-Id: I168edec10cf7670866076b129ebfe6149ea8222e
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-26 09:15:11 +00:00
efd7bc2b1c tests: Remove the unrequired VPP IP address/prefix class wrappers
Type: refactor

Change-Id: I204f3f8eebc5f5d5a377e91262f91c615fd00168
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-15 13:19:20 +00:00
12989b5388 ipsec: remove dedicated IPSec tunnels
APIs for dedicated IPSec tunnels will remain in this release and are
used to programme the IPIP tunnel protect. APIs will be removed in a
future release.

see:
 https://wiki.fd.io/view/VPP/IPSec

Type: feature

Change-Id: I0f01f597946fdd15dfa5cae3643104d5a9c83089
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-08 20:06:56 +00:00
19cb04df06 classify: make tests support python3
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I7c4a12165fa0928fb2b8d99fc1c8d5de16377e7e
2019-10-17 19:41:58 +00:00
6ed154f779 tests: cli wrapper should return string
Python3 fixes.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I648b2142d45dfab9146a02eeb1b12de11103ff9f
Signed-off-by: Ole Troan <ot@cisco.com>
2019-10-16 15:00:45 +00:00
29467b5347 gso: Add gso feature arc
Type: refactor

Change-Id: Ib4a8e7e64093b2db1deda6663325080bc8337605
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-10-14 22:48:38 +00:00
5932ce17e1 tests: add cli_return_response to vpp_papi_provider
To improve gcov/lcov code coverage stats, it's necessary to send
incorrect debug CLI commands; to force vpp into debug CLI error paths.

cli_return_response() sends commands and returns the response object,
so test vectors can handle failures.

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I4fab591c9d2e30c996f016e18e4fd69b9c5bed06
2019-10-10 15:51:09 +00:00
d5262831a3 dhcp: dhcp6_pd_client_cp API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: If6c102a53d074cba7eca6b6af9855aa4486f38cc
2019-10-09 13:52:32 +02:00
6be5564833 tests: handle unicode charactes in cli output
Type: fix

Change-Id: Ic4fb53e6d10a1de155a3088be81d53d9efeb0c0f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-08 09:03:49 +00:00
02bfd641b6 dhcp: Move to plugin
Type: feature

Change-Id: I3fe27a8ef577741d9a5c4f090ec91cf68fb44fe3
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-07 19:33:39 +00:00
103ba6ba9e dhcp: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ia63d920788add2584060a240321acced7a471640
2019-10-03 10:07:21 +00:00
0fc509343e dhcp: dhcp6_ia_na_client_cp API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ie2d2c74ed3832d137e808e0b52348b4e660feb6f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-30 16:47:48 +00:00
3d1ef873da bonding: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Idbba4ab6a412b75338e3149e51476693f0862f16
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-11 15:14:02 +00:00
4682feb1f0 bfd: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I4b91ebe8aadbec8b95716ed1cde4b0a13eee3a3f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-04 19:54:44 +00:00
038e1dfbdf dhcp ip: DSCP settings for transmitted DHCP packets
Type: feature

- Define the ip_dscp_t and use in the IP headers
- Add DSCP setting to the DHCP client for use with packet TX

Change-Id: If220dde0017ea78793747d65f53e11daf23a28fa
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-26 13:27:14 +00:00
5281a9029e qos: QoS dump APIs
Type: feature

Change-Id: I514b40026986f3828c8727453456b20a0a45f3af
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-24 14:55:59 +00:00
751e3f3824 bonding: add support for numa-only in lacp mode
If numa-only is set, Only slaves on local numa node
transmit pkts if have at least one, otherwise the bond
interface works as usual.

CLI change:
create bond mode lacp [load-balance { l2 | l23 | l34 } {numa-only}]
[hw-addr <mac-address>] [id <if-id>]

The new member "u8 numa_only;" is also added to bond_create_if_args_t.

Type: feature

Change-Id: Icdccedafb0738d8c9d4a5acce909ce562428c071
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2019-07-19 16:12:02 +00:00
79a32a4a10 tests: remove invalid arguments passed to papi
This changeset removes keys that are invalid in papi kwargs.

Type: test

Change-Id: I6568f91cd240dc1927540396210b429f6ce82c0a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-07-12 08:33:44 +00:00
ba6abfa062 gbp: add unit-tests for anonymous l3out
Type: test

Change-Id: Ib32c87b7f07c0552a6801a895332a0156c3c37f0
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-05 08:49:39 +00:00
160c923f99 gbp: VRF scoped contracts
Type: feature

Change-Id: I01772cfc3a0118a5c49bf346339788824e6931b2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-01 08:37:53 +00:00