603 Commits

Author SHA1 Message Date
Andrej Kozemcak
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
Sachin
a29f200688 VNET: Initialization support for NXP DPAA2 poll mode driver
- NXP proposed a poll mode driver "rte_dpaa2_dpni" in DPDK upstream.
 - When using external DPDK with the given dpaa2 driver, VPP needs modification
   to initialize the PMD and to understand the DPAA2 N/W interfaces.

Change-Id: I00eb127fa88c71fb430d3def238d50ba68fd595f
Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-17 07:10:55 +00:00
Dave Barach
b84ccc614d vpp-83: fix double-unlock
Change-Id: I0b75b4f9bef62aba69e9cc163924f6b985a35455
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-17 07:09:44 +00:00
Ed Warnicke
45050f8781 Fix generate-deb-changelog to handle YY.MM release
generate-deb-changelog was only properly handling x.y.z
releases.  This patch fixes it to handle YY.MM.

Change-Id: Iaaee8ff747abd6754d021535c889f67ad2c9998f
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit 693f4358deef7db06b3d3cae0d881924dd9cf9fa)
2016-06-17 03:13:59 +00:00
Florin Coras
1c494840b1 Consolidate use of IP fib functions in LISP CP
Clean up, refactor and consolidate LISP CP functions that interact with
ip interfaces and fibs.

Change-Id: I214eaebbec8d43646118df0948d0f82f923a5b43
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-17 03:13:21 +00:00
Ole Troan
3b3688f9d3 6rd: Move to plugin
- Change toplevel plugins make target. Now builds all plugins under
  plugins/. (Apart from sample-plugin).
- Move sixrd code to plugins directory and make necessary changes to
  make it a plugin
- Remove 6rd hooks from IP lookup code

Change-Id: I447e92e3bee240cd8de01d0abac2e1708e8c27d1
Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-15 16:10:08 +02:00
Ole Troan
f0f852251c VPP-19: Split the lookup.h IP_LOOKUP_NEXT enum.
IP4 and IP6 nodes currently shares the adj->lookup_next_index. That
has some issues, e.g. that one has to add non-functional nodes like
ip4-hop-by-hop and that anyone dynamically adding nodes to any of the
IP4/IP6 lookup nodes must ensure they add themselves to all relevant
nodes to ensure next index consistency.

This patch splits the IP_LOOKUP_NEXT into separate enums for IP4 and
IP6 with a common part for next-nodes used by both. It sets up other
IP nodes as siblings to avoid inconsistencies. This allows IP4 and IP6
lookup next nodes to evolve independently. The adj->lookup_next_index is
still shared, assuming that an IP4 adjacency isn't used by an
IP6 graph node.

Change-Id: I589b8364fe54e7a10c059b7ef9d6707eb0a345cc
Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-16 18:05:51 +00:00
Shesha Sreenivasamurthy
81f7092d34 Fix hugepage leak on VM termination
When VM is terminated, the hugepages mapped
    should be unmapped so that the system does not
    run out of hugepage resources. Therefore, mapped
    pages are unmapped when VPP notices a disconnect.

Change-Id: I7398fb20028036738ab87db0b0e79609e95d69a4
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-06-16 15:11:51 +00:00
Hongjun Ni
c0959c9c47 Fix vxlan-gpe interface state dump failure
Correspond to HONEYCOMB-84 VxLAN GPE - Wrong operational data.

Change-Id: Ia1b3c3b85e4b5435b0c690a4ce9ff93c65bfee5c
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-16 20:18:15 +08:00
Ranganathan T.S
445d6658d0 README file for vcgn
Change-Id: I6bd851e4b26f0b8d6f5826a19bded3af930cbc0e
Signed-off-by: Ranganathan T.S <rangan@cisco.com>
2016-06-15 23:06:55 +00:00
Hongjun Ni
7deb139eac Delete useless field decap_next in tunnel
Field decap_next in vxlan-gpe tunnel is not needed.

Change-Id: I83cc42ca82274587a57e3c65711cf18ee8d692d3
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-15 19:40:33 +00:00
Florin Coras
c2c9008444 Fix LISP locator pair selection
Make sure when selecting the local and remote locator pair for a
data-plane tunnel that the local locator has a route, in the FIB,
to the remote one.

Change-Id: Idbc8a28a8ede786c11ef98cb18eba4a78c4a228e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-15 19:25:13 +00:00
Florin Coras
c86f3e5d2d Fix remote mapping CLI for unset v6 local eid
If when configuring a remote v6 mapping the local eid is not set,
configuration fails because the code expects local (default v4) and
remote eids to have the same AFI.

Change-Id: If791d2e8a104ea36603576f8b2797cc07bc2654b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-15 16:44:07 +00:00
Neale
2a34b9e1a6 VPP-137: VPP sends ARP with wrong requested IP
Change-Id: I01802f3dab04c940e65236ba6e680f1e504a0a5f
Signed-off-by: Neale <nranns@cisco.com>
2016-06-15 09:18:26 +00:00
Srivatsa Sangli
820e363a8d Add dpdk per-interface startup config parameter to support rss-flag
New parameter allows specifying rss-flag - one or more of following
ipv4-frag ipv4-tcp ipv4-udp ipv4-sctp ipv4-other ipv4
ipv6-tcp-ex ipv6-udp-ex ipv6-frag ipv6-tcp ipv6-udp
ipv6-sctp ipv6-other l2-payload ipv6-ex ipv6

Sample config:

dpdk {
    dev 0000:86:00.0 {
        rss {
            ipv4
            ipv4-tcp
            ipv4-udp
        }
    }
}

Change-Id: I33c047d69ef8710b8ba3c7e1a1964d5d54f6e880
Signed-off-by: Srivatsa Sangli <srivrama@cisco.com>
2016-06-14 16:44:36 -07:00
Damjan Marion
0b14072b69 Add dpdk per-interface startup config parameter to specify worker threads
New parameter allows specifying which worker threads will process rx
queues. Parameter arguments is list of cores and number of worker specified
must be equal to the number of rx queues configured (num-rx-queues). If
num-rx-queues is not specified, it will be automatically set to
number of workers.

Sample config:

dpdk {
  dev 0000:86:00.0 {
    workers 2,3
    num-rx-queues 2
  }
}

Change-Id: I88bc381e0e542eb02def09a726c6f04de3e1ae17
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14 18:15:43 +00:00
Damjan Marion
d61b439358 Reset new indirect adjacdncy template before using it
Change-Id: Ia69ba39364d4dfa1403c8fbb77b7990226bbcb85
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14 17:38:33 +00:00
Ole Troan
964f93e59f Fix node siblings
Siblings did not work at all. Fixed by generating sibling relationships
earlier in vlib_node_main_init(). Also adding a node dynamically before
nodes were initialised failed for sibling nodes.

Change-Id: I2fb73eb33a6f5ee216f566074e18ed495e20634d
Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-14 17:10:53 +00:00
Keith Burns (alagalah)
07929f2612 gitignore change due to DPDK download suffix change
Change-Id: Idc86d3435e742f3cb96cb9eb1d85b0fdc6a40fc5
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-14 16:58:58 +00:00
Damjan Marion
bf74147701 Retire io threads and main-thread-io mode
Change-Id: I64f5ec5e32f200834c63ec3b304f9f20cef332a7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14 16:36:27 +00:00
Damjan Marion
6c56a3c6f0 Fix double-enqueued packet in interface-output dual-loop, fixes VPP-116
When speculative enqueue fails and a buffer needs to be moved to a new
node queue the original buffer is not correctly removed from the
original queue so buffer get send for transmit and encryption at the
same time. This issue will only be hit with the double loop so low
throughput traffic like pings will not hit the issue. This code path is
also only hit when the feature flag is enabled so will not be hit by
normal traffic

Patch also reorgnizes code to reduce number of branches in the interface
output node loop.

Change-Id: I3653400e58bdfd833e6c42823bab51586128b54b
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14 16:34:02 +00:00
Damjan Marion
1aa310fe3f Cleanup /dev/shm before starting VPP from top-level Makefile
Change-Id: I3a8b85ad033707552b9df7d0d08548517a8571ce
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14 13:35:58 +00:00
Keith Burns (alagalah)
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
Hongjun Ni
24612b3fb8 Fix name confusion for gre interface index.
Change from free_vxlan_tunnel_hw_if_indices to free_gre_tunnel_hw_if_indices.

Change-Id: I32f04f2b6b28fcf80d2fc0c37c67e343317dce7c
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-15 01:22:22 +08:00
Dave Barach
5a9c9b8bb5 Fix NULL-pointer crash in handoff_init(...)
Change-Id: If403f83b4e918e81e7b2e90dfca14960ad2c6aa6
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-13 18:17:23 -04:00
Damjan Marion
0247b46002 Add worker-handoff node
worker-handoff node is universal node which taakes packets
from the input node and hands them over to worker threads.
Currently it supports flow hashing based on ipv4, ipv6 and
mpls headers.

New cli:

set interface handoff <intrerface-name> workers <list>

e.g.

set interface handoff TenGigabitEthernet2/0/0 workers 3-6,9-10

Change-Id: Iaf0df83e69bb0e84969865e0e1cdb000b0864cf5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-13 20:39:58 +00:00
Hongjun Ni
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
Damjan Marion
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
Pierre Pfister
a38c3df5fd VPP-117: Fix ip4 and ip6 lookup and rewrite traces
Previous patch was printing wrong data since rewrite node traces
an ethernet packet while other ip nodes trace an IP packet.

This patch introduces different tracing functions for:
- lookup node (where the fib index is valid)
- rewrite node (where an ethernet frame is available)
- other ip nodes (only the ip header is traced)

Change-Id: I5971a2e89ae8668f5aed4a410565a5f27e01fc22
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
(cherry picked from commit 584b99a0120778108bd019b697639fbf3c1505d1)
2016-06-13 14:33:22 +00:00
Hongjun Ni
51e332ab83 Fix next-protocol issue configured from Honeycomb
PatchSet 2: rebuild.

Change-Id: I18ee050629129871b44271f92a1e63b661d55c05
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-12 03:02:32 +00:00
Dave Barach
b3ca6589eb Return 0 if no tap interfaces are ready
Otherwise, if tapcli-rx manages to make it into polled-mode, it will
never leave polled mode. This has been wrong since day 1, sometime in
early 2013.

Change-Id: I124e01a48db5abbc4eb5240c8d59f76dc562e9f2
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-10 18:32:08 -04:00
Damjan Marion
902474657d Copy missing buffer metadata for ESP transport mode packets
Change-Id: I3f5113533b365366cc3f6ef87858e19879f703cf
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-10 20:42:44 +02:00
Sachin Saxena
725c59cfc7 NXP dpaa2 platform initial support
- On ARMv8 aarch64 CPU
 - TARGET is aarch64-linux-gnu
 - Cross compilation enabled with "gcc-linaro-4.9" toolchain

	make PLATFORM=dpaa2 TAG=dpaa2 ...

Change-Id: I8faf5c8b0d3c81d33a2834c6429a05c8379309c1
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2016-06-10 19:50:52 +05:30
Hongjun Ni
c71c426f69 Fix issue: no handler for msg id 13
Delete send_sw_interface_flags within sw_interface_dump, because send_sw_interface_details has covered the link status.

Change-Id: I8ea8024ff88cfcc5799913762f047767fdb3c79c
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-10 00:22:02 +00:00
Dave Barach
96e1203e1b VPP-133: increase size of cli process stacks
Change-Id: Ic488b95b54438028940403b02a5916347c53bd05
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-09 20:37:56 +00:00
Damjan Marion
db7b269736 Add verbose flag for packet trace, show hexdump in verbose dpdk input trace
Verbose trace can be enabled with:

 trace add dpdk-input 1 verbose

Change-Id: If58cfc561143d5a44f7d11e61d54b6835692a0e3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-09 20:03:34 +00:00
Damjan Marion
a7e83ceeac Add format_hexdump function
Function output is compatible with text2pcap tool

Sample output:

00000: 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 [The quick brown ]
00010: 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 [fox jumps over t]
00020: 68 65 20 6c 61 7a 79 20 64 6f 67 00             [he lazy dog.]

Change-Id: If77ec7d91b77146df770698e0cf35fe2f6dd0821
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-09 17:23:22 +00:00
Pierre Pfister
0febaf15da VPP-117: Add trace to ip4 and ip6 lookup nodes
The absence of trace in ip lookup nodes is misleading to many people.
This patch adds ip lookup tracing and therefore contribute to
worldwide happiness.

In addition, this patch makes sure sw_if_index[VLIB_TX] is
considered when tracing the fib_index value. In ip4/6-rewrite,
the value corresponds to the tx interface index. The formatting
function is therefore modified to take that case into account.

Change-Id: I5915f0446a15c45e391eedfdfcedd9057aa6a237
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-09 16:27:59 +00:00
Dave Barach
3f3b085c8e VPP-106: fix performance hit due to unprefetched data read
Change-Id: I1325b60b6deadcb51631e178011a31ee70c06cc7
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-09 13:41:58 +00:00
John Lo
55ef1b1f80 Fix DPDK init crash if bonded interface is created by startup conf
Change-Id: I4d7d4a56aba010aa868b1f4c2c4e8db0b4c21fd7
Signed-off-by: John Lo <loj@cisco.com>
2016-06-09 13:41:28 +00:00
Maros Marsalek
7becd08c4b VPP-119: JVpp notifications
- add notification DTOs to JVpp
- add notification callbacks
- add notification registry
- provide/implement notification registry from future and callback facades

Change-Id: I1060ef2ec8ba1eb2e8cff279c93b73aa7c9f9aee
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-06-09 02:41:57 +00:00
Tibor Sirovatka
42bb61fd16 HONEYCOMB-67 Introduce exception handling into JVPP
Send calls throws VppInvocationException on failure
Failed requests (negative retval) reported over onError callback interface method
Removed retval attributes from dto/xxxReply.java calls

Change-Id: Ibd4e90c320d080e02d75b4bd056a7b11c8e37aa7
Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-06-09 02:22:34 +00:00
Ed Warnicke
b10427e060 VPP-127 Removed spurious use of sudo
Change-Id: I1eb18fc6379db30fb802e3b929931788f54e7dc2
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-09 01:38:02 +00:00
Ed Warnicke
f9618ee484 VPP-129: Add build-root/scripts/csit-test-branch script
This script returns the csit branch that should be used
for testing and verification.

Related to csit patch:
https://gerrit.fd.io/r/#/c/1344/

Change-Id: I51e44e4ba4dc433056ac8a870f8b7c7f9518189b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-09 00:45:14 +00:00
John Lo
bbb7682790 VPP-115: Remove stale ACL CLIs which are not supported
The old ACL CLIs still show up in CLI help which can confuse users.

Change-Id: I9a3722d3d649c4370df6a09b2c07628e7e4aa0f4
Signed-off-by: John Lo <loj@cisco.com>
2016-06-09 00:44:11 +00:00
Ed Warnicke
ec6290a8a5 VPP-127: Make rpm/deb provide vpp group to access vpp-api
Change-Id: I80b7f55034d64ad8360e29c669002948317c64ba
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-08 18:12:37 -05:00
Ed Warnicke
40c6639428 VPP-124: Fix rpms to work out of the box.
Currently, for vpp we are not building any rpms for dpdk or igb_uio.
This is because uio_pci_generic as shipped with centos works with vpp.
However, our vpp rpms do not install kernel module uio_pci_generic at
start up and the /etc/vpp/startup.conf does not configure vpp to use
uio_pci_generic.

vpp rpms should do both, so that when the vpp rpm is installed and
vpp started, it just works out of the box.

This patch fixes the rpms to do so.

Change-Id: Ib934b51f9271cded466d235aa4044bef75c35960
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-08 14:41:40 -05:00
Maros Marsalek
2f0a7a880c Increase jvpp connection timeout
Change-Id: I4d52c113336deac80dfcbad91b21a7a70eea2213
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-06-08 11:40:32 +00:00
Dave Barach
599839d12d VPP-83: fix collateral damage
Accidentally removed pthread_mutex_unlock (&root_rp->mutex) in the
dead client scan case. Oops. Bad idea.

Change-Id: I488b7e39d01c267052785bd346e8846351db90a9
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-07 18:28:51 -04:00
Damjan Marion
c883fa7cdb Fix missing null termination in DPDK EAL Args
Change-Id: I8292628ad359a19e02ff79568d773ad2b1af51ec
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-07 21:50:37 +02:00