58 Commits

Author SHA1 Message Date
b6e4d3990e New LISP API map-request itr-rloc
API to constrain source locator when sending map-requests.
lisp map-request itr-rloc <locator-set name>

Change-Id: I19f3a1aa8a387ca8662ccf3a4ad774ea7d655f80
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-17 09:17:31 +00:00
802255c908 Add sw_if_index to af_packet_create and various clean ups
Change-Id: I4c2972b55d5d99f3aa7a05885791eef47351c734
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-14 11:45:54 +00:00
c424879b4c Add vxlan-gpe tunnel to sw_interface_dump
Patchset 2: rebuild

Change-Id: I3375d6c9c7e18ab46896552614369b9d77ee6004
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-13 19:06:48 +00:00
86be48773c Explicity specify IP address type for format_ip46_address function
Change-Id: I3379517535a98a7a5fbd3173503f288a81378821
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-13 19:04:12 +02:00
6f91cfe4aa ONE-18: Fix trailing garbage string in LISP status dump API
Change-Id: I5cba5eae5a981e41df3f227834a079e10982537f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-07 11:10:10 +00:00
58f886ab9a Add CLI/API for clearing all remote mappings
Change-Id: I5aef12d3a9c8daefff52e5f958c504f5d2ff9fd0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-31 18:50:39 +00:00
0e06e2b142 Add Dump API for VxLAN-GPE tunnel
Change-Id: I4913fe6c4b1280939147887896aea9b79a9f7f10
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-30 03:31:13 +00:00
404be66978 VPP-95 VXLAN add_del API intermittent failure
The VXLAN add_del API sometimes rejects calls with
VNET_API_ERROR_SAME_SRC_DST when the two parameters are obviously
different. This is because the API code is checking the "is_ip6" flag in
a not-yet initialized area of memory leading to random results.

Also fix help text for vxlan_add_del_tunnel in vat.

This does not change the API; it repairs intermittent failure.

Change-Id: I41863694f478c1f669078f82f69d8cca4841c989
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-27 12:13:51 -04:00
df921cc65a Add Vxlan-Gpe over IPv6
PatchSet4: consolidate code as per comments.

PatchSet3: simplify the code using ip_udp_encap_one/two

PatchSet2: consolidate comments and indent style

Change-Id: Ia8b43f854a46d77e838e198566200ad28fd72472
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-25 10:42:43 +00:00
53f09e36f9 Add LISP RTR support
Change-Id: I8a3770f8f1cd1fde6765b81d35aacaaf4ff98b82
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-23 09:15:39 +02:00
6f7b992f56 VPP-80: netmap binary API message element name collision
if_name collides w/ ietf-interfaces.yang member name, causing a build-break
in an existing yang-model-based app. Rename to "netmap_if_name".

Change-Id: Id386eacd77343dd15a868c28dacd2b0e4523bc9b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-20 14:44:10 -04:00
d686c632d1 VPP-77 Creating VXLAN over IPv6 via API fails
Tunnel dst is incorrectly being set to the requested src address.

Change-Id: I44e2ee475f0572e78d148951c5d4684e85e08ce7
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-20 12:15:30 -04:00
e855480acd Add policer dump API
JIRA: VPP-67

Change-Id: I8fced60a884f1585b1f51002832d47631eea9571
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-20 01:15:32 -07:00
82e29c4558 Add netmap API
JIRA: VPP-66

Change-Id: I421529fa8eafe5268745a34a4fcd40156defcdf8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-18 17:14:46 +00:00
65fcd4d737 Add configure policer API
JIRA: VPP-67

Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-16 13:30:40 +00:00
195bceec56 ONE-13: Add CLI/API for LISP static remote mappings
Change-Id: Ic4c717af9629541bac0a0e6c65d0157619c8f578
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-15 15:02:51 +00:00
94b1442a67 VPP43 - NSH refactoring: Added nsh-map nodes
- removed vnet/vnet/nsh-gre
- removed all nsh from vnet/vnet/nsh_vxlan_gpe to
  vnet/vnet/nsh
- moved vnet/vnet/nsh_vxlan_gpe to vnet/vnet/vxlan_gpe
- added cli and binary api for VXLAN GPE tunnels
- plan to move vnet/vnet/nsh to new repo (sfc_nsh) and make plugin
- added cli for NSH (binary API will be done in sfc_nsh)
- vnet/vnet/gre will be extended in VPP-54

Change-Id: I1d27def916532321577ccd68cb982ae0d0a07e6f
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-13 16:07:41 +00:00
3e53fc5664 ONE-11: Fix bugs in LISP API
- check input variables
- in locator_set dump, add support for remote locator_set

Change-Id: Ib10028e83fead358f820ae45c71b6ca4dfbe2f1e
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-13 12:20:11 +02:00
46d4e36792 ONE-4: Add LISP enable/disable API/CLI
This patch adds an enable/disable API/CLI for control plane
which calls similar functions for data plane. When re-enabling
it also re-populates dataplane with tunnels and interfaces.

Change-Id: Id8c3d6af90ecc0be331d502756914b1f62824046
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-10 13:52:48 +02:00
8a95a482cf Add af_packet API
Change-Id: I39409ae9e75fdb59d8cbbd940fa192b24eb79b6a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-10 11:10:37 +00:00
ed09a050b7 ONE-5: Remove unused vnet_lisp_gpe_add_del_tunnel API
Change-Id: Ib22ec807d2b74b7c3cb37f66052cd07bc4d896db
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09 11:35:52 +00:00
a6116ef5cf VPP-35 Add GRE tunnels to sw_interface_dump
GRE tunnels were missing from vpp_api_test's sw_interface_dump command.

$ sudo ./build-root/install-vpp_debug-native/vpp-api-test/bin/vpp_api_test json
vat# sw_interface_dump
[
...
  {
    "sw_if_index": 7,
    "sup_sw_if_index": 7,
    "l2_address_length": 0,
    "l2_address": [0, 0, 0, 0, 0, 0, 0, 0],
    "interface_name": "gre0",
    "admin_up_down": 1,
    "link_up_down": 0,
    "link_duplex": 0,
    "link_speed": 0,
    "mtu": 0,
    "sub_id": 0,
    "sub_dot1ad": 0,
    "sub_number_of_tags": 0,
    "sub_outer_vlan_id": 0,
    "sub_inner_vlan_id": 0,
    "sub_exact_match": 0,
    "sub_default": 0,
    "sub_outer_vlan_id_any": 0,
    "sub_inner_vlan_id_any": 0,
    "vtr_op": 0,
    "vtr_push_dot1q": 0,
    "vtr_tag1": 0,
    "vtr_tag2": 0
  }
]

Change-Id: I6f174f3c384eac464250b22f43b25be6a844aa66
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-07 13:01:55 +00:00
a9edd85e4c ONE-2: Add new LISP dump API for lisp gpe
API:
	lisp_gpe_enable_disable_dump

Change-Id: I1c8e78f00f9a3f99c1f2f54884af565292e4ccf8
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-05 11:46:10 +00:00
fdff1e6ed5 VPP-39 - refactoring of NSH into own folder
- common header files and structs used in both GRE and VXLAN-GPE

Change-Id: I06d0b773e936fb011408817237059f24a4beb412
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-05 11:45:22 +00:00
52fc44d61b IP6 SR multicast replicator
- adds ability to name tunnel
- creates policy as a collection of tunnel names
- map ip6 multicast address to policy and replicate packet
- adds zero memcpy for invariant portion of packet

Change-Id: Icd2fe6a2cf65c09906e82ed1afbb0eae8df79452
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-30 16:38:09 +00:00
27fe48f699 VPP-25 Add API for GRE tunnel create/delete/show.
Add API methods to create, delete and show GRE tunnels.

Also add missing CLI functionality for deleting and listing
configured tunnels.

Change-Id: I7565966037d94ade07938e4ff0d9333419716857
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-29 14:32:58 +00:00
99cb335ac1 VXLAN over IPv6.
Refactors the VXLAN node to work with both IPv4 and IPv6 transports.

There is a discussion thread for this change at
https://lists.fd.io/pipermail/vpp-dev/2016-March/000279.html

Note that this changes the binary configuration API to support both
address families; each address uses the same memory for either address
type and a flag to indicate which is in use. This also includes changes
to the Java API to support both address families.

The CLI and VAT syntax remains unchanged; the code detects whether an
IPv4 or an IPv6 address was given.

Configuration examples:

IPv4 CLI: create vxlan tunnel src 192.168.1.1 dst 192.168.1.2
                vni 10 encap-vrf-id 0 decap-next l2
IPv6 CLI: create vxlan tunnel src 2620:124:9000::1 dst 2620:124:9000::2
                vni 16 encap-vrf-id 0 decap-next l2

IPv4 VAT: vxlan_add_del_tunnel src 192.168.1.1 dst 192.168.1.2
                vni 10 encap-vrf-id 0 decap-next l2
IPv6 VAT: vxlan_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2
                vni 16 encap-vrf-id 0 decap-next l2

TODO: The encap path is not as optimal as it could be.

Change-Id: I87be8bf0501e0c9cd7e401be4542bb599f1b6e47
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-28 15:13:01 -04:00
fa6935594d Fix clang warnings in api code
Change-Id: I7a4bc4678fea723c35bbeac1b893c5c52235aa67
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-26 19:35:12 +00:00
577c3553dd Convert lisp-gpe encap to interface tx node
With this change, one lisp-gpe interface is created per vrf/overlay
tenant and its tx node is used as encapsulator (or tunnel ingress). For
all intents and purposes, the tx node inherits all functions previously
performed by the lisp-gpe-encap node and it maintains said node's
position in lisp-gpe's data-path graph. Chiefly, this opens the
possibility to chain interface features, like IPSec, transparently with
LISP. Furthermore, it brings basic data plane support for vrfs and LISP
instance-ids (or virtual network instances as per RFC7364).

Other changes include improvements to lisp-gpe enable and disable
sequences and corresponding API/VAT fixes.

Change-Id: I085500450660a976b587b1a720e282f6e728d580
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-25 13:05:49 +00:00
f1213b8277 Add clib_memcpy macro based on DPDK rte_memcpy implementation
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-22 17:29:47 +02:00
2b836cf4d1 Add a vpp_restart command
vpp_restart solves the problem of restarting vpp and not exiting until
the new vpp instance is sufficiently established to allow immediate
binary API connections. The point is to avoid using arbitrary "sleep
N" commands e.g. in CSIT shell scripts.

We send SIGTERM to the current vpp process, and expect / depend on the
process-monitor du jour to remove the vpp-api shared-memory segment.

vpp_restart exits w/ status 0 if all is well, non-zero upon failure.

In trying to make vpp_restart reliable, we discovered a
recently-introduced heap corruption bug in .../dpdk/init.c, which
caused vpp to crash on startup once every 20 times on a particular
rig.

If possible, we should check /var/log/syslog for evidence of
unexpected multiple restarts during regression-testing.

Change-Id: Ic48c74b1a94a4368066ba2e326d4b12d51192088
Signed-off-by: Dave Barach <dbarach@cisco.com>
2016-04-22 09:54:33 -04:00
b92feb6bd3 Add LISP API
SET API:
	lisp_add_del_locator_set
	lisp_add_del_locator
	lisp_add_del_local_eid
	lisp_gpe_add_del_fwd_entry
	lisp_add_del_map_resolver
	lisp_gpe_add_del_iface

SHOW API:
	lisp_locator_set_dump
	lisp_local_eid_table_dump
	lisp_gpe_tunnel_dump
	lisp_map_resolver_dump

Change-Id: Ie7f521e7e64ad2736b8417852b38454bfdef3728
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-04-15 09:07:08 +02:00
e5f42feb4f Add IKEv2 APIs
Change-Id: I5936b05aa927b67c707b5858ffee45fc7a5d2043
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-04-09 03:02:31 +00:00
33007f505b Fix vppctl for multivpp
Change-Id: If028aca042dbba653cc0f51a0149b36bed5c7853
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-04 15:53:44 -07:00
b02e49c4be Enable af_packet interfaces in the API test apps
Change-Id: Ic1247a712614df2762c95142122ff122076fd0ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-31 17:44:25 +02:00
20a64f5f8a iOAM trace configuration APIs
Change-Id: I6d31f0ddb812d148ad065e27775440d09f402def
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-03-25 20:57:19 +00:00
00bbf276be Add sw_interface_clear_stats API call
Change-Id: I0731357744ddcb890efaebd81aac5370449a90e3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-03-07 14:07:22 +00:00
060c6fc0b5 Fixed issue with json output in vpp_api_test.
When it runs 'exec' command string "(nil)" is appended to the end of the
console output.

Change-Id: I7cdae78b2166829dd2160e92ed8181203eb491ed
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-02-26 20:48:04 +00:00
84e4ffeaf1 Added MTU information to sw_interface_dump
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7
Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
2016-02-22 09:45:02 +01:00
ef65cb0696 Add custom mac address option to vhost interfaces.
Generating a new MAC address everytime vpp reboots can quickly
become cumbersome (e.g. in test scenarios).
This commit allows vhost mac addresses to be configured
manually.

Change-Id: Ic6d16a2d14cdf8e49dc29041bbafde39d9fc8370
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-02-19 15:58:07 +00:00
b44e9bc90b Serialize and upload the data plane node graph
Include node names and graph arcs. Prep work for uploading node
runtime data, so the latter can be reported in a comprehensible
manner.

Change-Id: I215b1f8cff244200c37c7e088f1f22229dc97eb6
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19 09:06:46 -05:00
c07bf5d503 Per-interface, per-address-family fast packet filter
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19 11:10:32 +00:00
2126b35f5f Replace AC_PROG_LIBTOOL with LT_INIT
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10 08:43:22 -05:00
a67c418487 Fix vppctl to cope with vpe -> vpp transition
Change-Id: Ida88cff8b84756660eb682a6ff4d4ded3b0432e1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-01-26 15:45:07 -07:00
014bdeb850 Small fix for vppctl
Change-Id: I5d2668b3487d240e7d8c8a257e9a5607e2b314ec
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-01-26 09:57:14 -07:00
309bef25f1 Enable shared-VM namespace support
Required prep work for gracefully supporting
"... dpdk { proc-type secondary }" -  multiple processes sharing a physical
host, VM, container, etc.

Change-Id: Ic3eb72f4093e26d7c86dde3b8799264f1d0c218b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22 16:10:07 -05:00
bfdedbd5a3 PowerPC64-be arch support. Qemu ("qppc") platform support.
Change-Id: Ib0a05f9d1b08bacef09f6d7c101391737031ee0d
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-21 12:33:07 +00:00
08ff7e00bf Rename vpe binary name to avoid collision with latex
Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-20 16:33:01 +01:00
7471c6d7d7 Enabled vppctl to provide an interactive shell
Change-Id: Ibfed316570c03a4dd158781c6201f5713837adb4
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-01-18 10:14:20 -07:00
2d8862c8f6 Restore vpe-api-test/scripts/vppctl
Change-Id: I13b472dbf4a95f417ef28efcf8e740dbdd201f7e
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-22 19:43:43 -07:00