summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-11-02Allow empty DPDK device init configPierre Pfister1-0/+1
This patch allows for empty dpdk device configuration such as: dpdk { dev 0000:0a:00.0 { } } Instead of exiting. Change-Id: If9488eecc7fb1e0b5c6626f9c074649b39b727d3 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-02adj: fix typosDamjan Marion1-6/+6
Change-Id: Ib5b5a15223ac9252e9cacd163bd870b009ec3b63 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-01dpdk-hqos: don't hold up packets indefinitely under low loadDavid Hotham2-0/+34
Change-Id: If884637a6db0cb813a40920194795da2e98c8b23 Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-11-01feature: add new feature handling code and device-input featuresDamjan Marion22-408/+686
Signed-off-by: Damjan Marion <damarion@cisco.com> Change-Id: I010ecde93863dbdad84b993cd3680a5446db59b5
2016-11-01Fix recursion loop - recurse through coverNeale Ranns2-2/+72
Change-Id: I07870122f90e41fbb216b2f426bccbfd94049cd6 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-01VPP-437: ip6 hbh processing with FIB 2.0Shwetha2-150/+29
1. Modifies ip6 hbh selective processing in lookup only when non-recursive routes are present. 2. Adds ip6 hbh processing in load balance. 3. Cleanup of ip6 iOAM hbh plugin formatting and CLI handling found while testing the changes. 4. Deleted wrong asserts in dual loop for add and pop iOAM hbh nodes. The current data of the buffer ip6 start and will not be 0 5. Deleted set ioam destination cli and associate functions. iOAM add/pop is enabled via classifier, this cli is no longer used. Change-Id: I3aac71ad512762c0b2b602fe88fe0291b85d39c7 Signed-off-by: Shwetha <shwethab@cisco.com>
2016-11-01MPLS Exp-null TestsNeale Ranns5-47/+38
Add some 'make test' unit tests for MPLS explicit NULL label handling. Fix the stacking of the MPLS load-balance result form the lookup onto the IPx lookup object. Change-Id: I890d1221b8e3dea99bcc714ed9d0154a5f602c52 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-01vppinfra: add STATIC_ASSERT macroDamjan Marion2-6/+13
Change-Id: Icc4e74ae1627c5b97746ed64955a3dc089e3998f Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-01l2: fix l2-patch nodeDamjan Marion1-25/+10
This node was not setting vnet_buffer (b0)->sw_if_index[VLIB_TX] properly. Change-Id: I3e9f095da5f79c4186e3988ef315a7045ac85708 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-01dpdk: use u32 for next0Damjan Marion1-4/+4
Change-Id: I0158a290736f68d0d56dff2f15dd18518059efd2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-01config: rename ip_config_main_t to vnet_feature_config_main_tDamjan Marion26-47/+53
It will not be used for IP only... Change-Id: I90ef3030aff7f9e24767553f019cabc1ea987126 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-31Update _slabshr fields when updating HQoS masksDavid Hotham1-0/+6
Change-Id: Ia1042622c656861a80b856115aeb3c2e5cf5ea2a Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-10-31vppinfra: use 64-bit crc32 instruction in bihash_24_8Damjan Marion1-1/+9
Change-Id: Ibeb6d35e15a8d332753df7c352c0b51c277a0ee5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-31vhost-user: fix crash in vhost_user_intfc_tx (VPP-519)Damjan Marion1-6/+0
The crash was the result of indexing off the end of the next[] array. Removing that prefetch code completelly, as it is questionable how much it helps so late in the game. Change-Id: I7bc83483a1088437edb4ac0f95a54c39afce136b Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-29IPv6 Classify Forwarding Graph errorsNeale Ranns8-19/+24
Fix a few places where the protocol of the DPO object was incorrectly set and hence the graph traversed by the packet jumped between ip4 and ip6 nodes. Change-Id: I75c4ecfdf79df39f5dbb7c68f1fc82ff04aaed28 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-10-28policer: replace uintX_t with uX, fix styleDamjan Marion8-1764/+1926
Change-Id: Ie4a0ba57d5c672ab04fe37801836f65d8731a90a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-27Fix potential L2 forwarding crash with stale L2FIB entry (VPP-516)John Lo4-50/+44
On moving interface between L2 and L3 forwarding modes, adjust the l2-output node next index for the sw_if_index of the interface so packet output via stale MAC entries in L2 FIB will be dropped. Change-Id: I25afd7a617edb4ae35ce296bac33e62683edad9a Signed-off-by: John Lo <loj@cisco.com>
2016-10-27Fix coverity issues in LISPFilip Tehlar1-1/+2
Change-Id: Ifef27540f02f423070e8843951be5cba0acea8cf Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-27Per-packet IPFIX record generation pluginDave Barach1-1/+1
Change-Id: Ia790aa018e70d67ed343e3e466d1b33b22560fc0 Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-26features: fix crash due to missing null terminationDamjan Marion1-8/+8
Change-Id: I98b407f9b698307c5a0007b198a734674b33f925 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-26dpdk: enable building with dpdk 16.11-rc1Damjan Marion2-0/+28
Works with: http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11-rc1.tar.xz placed into dpdk/ or ~/Downloads Change-Id: I17f6a721529dbefc796f555e2525d157b9bf8740 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-26dpdk: remove support for dpdk 16.04Damjan Marion10-2602/+3
This also removes old DPDK vhost-user code which doesn't help much with DPDK 16.07 or newer. Change-Id: Ic996df1eaccc33acd3fa6cabeaf7381a672c2a90 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-26dpdk: remove support for dpdk 2.2Damjan Marion3-68/+0
Change-Id: I2d1a7063f3776a9070e75a627beb5d0e45a67874 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-26dpdk: remove KNI supportDamjan Marion5-228/+2
This code is outdated and without real use case Change-Id: I30628cc4ca293e5249aea3891173507cbfad8b61 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-26Use only 24 bits for vni in lisp-gpe data packetsFlorin Coras2-3/+4
Change-Id: I5a8ff12dfa8d4d9f24275590ff8293e7eb7ffbb6 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-10-25dpdk: remove dpdk_pmd_constructor_initDamjan Marion1-71/+0
This is not needed anymore, likely because we use --whole-archive parameter during linking. Change-Id: Iab0f2ec647b63c59663faceacfbc60aa4a4b84a6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-25Support IETF routing Yang models (VPP-503).Neale Ranns26-99/+700
Add support for special routes to send ICMP unreachable or admin prohibited. Change-Id: Ia1ac65b0e5e925c0f9ebc7824141833b4e18f05e Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-25Fix LISP src/dst based policyFilip Tehlar4-13/+259
Change-Id: Ibcc58ad50e33cd26367fd28f60334e29f45a094c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-24Fix VXLAN tunnel delete crashJohn Lo1-2/+2
Change-Id: I610648f28b7504798da9e377ea099629aa7a5150 Signed-off-by: John Lo <loj@cisco.com>
2016-10-23Dual Loop Lookup and Adj-midchainNeale Ranns2-145/+534
Change-Id: Id78b6dc637626c01b64bd5868d22425a30318348 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-10-21Fix Coverity Errors in FIB. This is mainly consolidating the vnet_link_t and ↵Neale Ranns18-153/+120
fib_link_t enums into just vnet_link_t. Change-Id: Id2147afec1a28e95fec86dfd524088cd56563f63 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-21Quad-loop ip4_lookup_inline, add _x4 validate buffer enqueueDave Barach1-65/+115
Change-Id: I80a25fa90d8a65db619b8697cede2b98bed37cea Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-18Deprecate MPLSoGRE tunnels (VPP-502)Neale Ranns13-1359/+110
Add shared memory APIs for MPLS routes and MPLS to IP prefix bindings. Change-Id: I85b074a4dadc8249c410fdabd8ea019d20479cf8 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-10-18Update tx and output node runtime when recycling interfacePierre Pfister1-0/+18
When an interface is removed, and another one is created, the nodes from the previous interface are reused. The current code fails when the new interface type differs from the original. It is necessary to update the node runtime, in particular the node function, and the node format function. Jira: VPP-460 Change-Id: I2fc3c609e0173a7f62597230768669039853ab03 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-18Load-balancing in IP4 dual loop typos. (VPP-501)Neale Ranns1-2/+2
Change-Id: I7b70d52d11c228ec5e790632a91b042b34b38d28 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-17VPP-491: Update CLI Command documentation for "show ip fib" and "show ip6 fib".Billy McFall4-108/+331
Change-Id: I9d1d02ffbb3cdbe8c4a3f335ece40f3dcbd848a7 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-10-17Support MPLSoGRE with the new FIB 2.0John Lo3-127/+50
Note that the new way to provision MPLSoGRE is using the "normal" GRE tunnel such as in the following example: create gre tunnel src 10.0.3.1 dst 10.0.3.3 set in state gre0 up set int ip addr gre0 10.0.4.1/30 set int mpls gre0 enable ip route table 4 6.0.0.0/24 via 10.0.4.2 gre0 out-label 30 mpls local-label add 30 eos ip4-lookup-in-table 4 The previous CLIs/APIs used to configure MPLSoGRE tunnel such as "create mpls gre tunnel...", "mpls encap|decap add label .." and "show mpls tunnel", etc. can not be used. They will be deprecated in a later update to the VPP code base. Change-Id: I244916841924dc2b87d2143691cd8476716c06b1 Signed-off-by: John Lo <loj@cisco.com>
2016-10-17style: fix VLIB_NODE_FUNCTION_MULTIARCH indentDamjan Marion3-15/+26
Change-Id: I9c23ddbbd576e8c900ba82425572ed7a3c4f56e3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-17VPP-492: Fix ability to change mac address of the interfacePavel Kotucek1-2/+5
Fixed Coverity complaining about the clib_memcpy used in /vnet/vnet/interface.c Change-Id: I401f05aea1066d829abac1555021e1180b4a161e Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-15VPP-488: Fix build errors, which uncovered IPv6 load balance lookup bug.Billy McFall12-35/+74
Change-Id: Id17fcb9154c5337908f29b7ce3a282b6a4b72d64 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-10-14VPP-490: vpp crash in show ip6 neighborBilly McFall1-8/+11
Change-Id: I003f95db85ce5085045c607f0b1daaefa792c910 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-10-14VPP-489: CLI Command "test lookup" crashes with invalid fib-index.Billy McFall1-1/+8
Change-Id: If4c47b91e949483675cf569cd474b6c85fecef05 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-10-14FIB2.0: Adjacency complete pull model (VPP-487)Neale Ranns53-1524/+1968
Change the adjacency completion model to pull not push. A complete adjacency has a rewirte string, an incomplete one does not. the re-write string for a peer comes either from a discovery protocol (i.e. ARP/ND) or can be directly derived from the link type (i.e. GRE tunnels). Which method it is, is interface type specific. For each packet type sent on a link to a peer there is a corresponding adjacency. For example, if there is a peer 10.0.0.1 on Eth0 and we need to send to it IPv4 and MPLS packets, there will be two adjacencies; one for the IPv4 and one for the MPLS packets. The adjacencies are thus distinguished by the packets the carry, this is known as the adjacency's 'link-type'. It is not an L3 packet type, since the adjacency can have a link type of Ethernet (for L2 over GRE). The discovery protocols are not aware of all the link types required - only the FIB is. the FIB will create adjacencies as and when they are required, and it is thus then desirable to 'pull' from the discovery protocol the re-write required. The alternative (that we have now) is that the discovery protocol pushes (i.e. creates) adjacencies for each link type - this creates more adjacencies than we need. To pull, FIB now requests from the interface-type to 'complete' the adjacency. The interface can then delegate to the discovery protocol (on ethernet links) or directly build the re-write (i.e on GRE). Change-Id: I61451789ae03f26b1012d8d6524007b769b6c6ee Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-13feature: rename vnet_ip_feature_* to vnet_feature_*Damjan Marion8-54/+54
Change-Id: Idf68266f705b0455e5ab0ac73d23c7e0f4120d5b Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-13VPP-286: Add CLI Command documentation via doxygen comments for vnet/vnet/ip.Billy McFall14-164/+1105
Change-Id: Ie1be9dc057d07c250852952ea159ed3c44c25f5f Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-10-13vhost-user: Add reconnect supportDamjan Marion1-0/+1
QEMU 2.7 introduces reconnect support. However it doesn't send last state of last_avail_idx in the SET_VRING_BASE. With this patch we are overriding SET_VRING_BASE with value taken from used->idx. It is a bit hackish as it basically overrides SET_VRING_BASE provided value but it should work in most of the cases. This is what author of reconnect code is also suggesting in his post: https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01495.html Change-Id: I10e5f401c409d2989bf6c43eaea377800a9c76df Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-13VPP-483: Fixed IPSec tunnel interfaceMatus Fabian1-1/+10
Change-Id: I570f57218293a4824f83b38575eacdbe3da540d8 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-13vpp_lite: add cpu pinning support (VPP-467)Pavel Kotucek3-6/+6
Proper cpu pinning in vpp_lite platform, like in normal vpp image. Extended “show threads” command to show propper information. Changed handling of coreID and socketID for threads in "show threads" CLI, pthread_getaffinity is used instead of info stored in DPDK. Change-Id: Ic8299ec5e284472bb10a37a95fadeed57b6edae8 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-12Fix coverity warnings, VPP-486Dave Barach2-2/+2
Change-Id: I7a14d9a28514cdb49f65fab1b120b53239fed7e3 Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-12VPP-213: vnet classifier does not work for l3 ip4 rulesOle Troan1-26/+34
The classifier was written with the assumption that next-indicies of IP4 and IP6 IP_LOOKUP_NEXT nodes are equal. That's not true, and this patch splits the classifier session for IP4 and IP6. Change-Id: Id0368f17bb1d3f145b771d2dc283b56871264e99 Signed-off-by: Ole Troan <ot@cisco.com>