summaryrefslogtreecommitdiffstats
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2017-03-02Ensure sw_if_index to node mapping for L2 output path is only done via ↵Andrew Yourtchenko7-85/+36
l2output_main.next_nodes Before this commit, several output features that happen to be the last in the list of features to be executed, send the packets directly to <interfaceName>-output. To do this, they use l2_output_dispatch, which builds a list of sw_if_index to next index mappings. When interfaces are deleted and the new interfaces are created, these mappings become stale, and cause the packets being sent to wrong interface output nodes. This patch (thanks John Lo for the brilliant idea!) adds a feature node "output", whose sole purpose is dispatching the packets to the correct interface output nodes. To do that, it uses the l2output_main.next_nodes, which is already taken care of for the case of the sw_if_index reuse, so this makes the dependent features all work correctly. Since this changes the packet path, for the features that were always the last ones it has triggered a side problem of the output feat_next_node_index not being properly initalized. These two users are l2-output-classify node and the output nodes belonging to the acl-plugin. For the first one the less invasive fix is just to initialize that field. For the acl-plugin nodes, rewrite the affected part of the code to use feat_bitmap_get_next_node_index since this is essentially what the conditional in l2_output_dispatch does, and fix the compiler warnings generated. Change-Id: If44457b1c1c3e197b78470c08555720d0872c6e5 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-02-09Plugin Makefiles did not install headers - VPP-631Keith Burns (alagalah)1-1/+1
Change-Id: I9f6fd1a63a9dfa2d2aa386cf0a3c2479525bbcec Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-01-20Fix plugin version numbersv17.01Damjan Marion3-3/+3
Change-Id: Ie485e9dfa04747b5e4ba93fdeabc5802dc001d31 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-03VPP-574: fix the MACIP ACLs blocking ARP trafficAndrew Yourtchenko1-0/+47
The initial assumption was that the MACIP ACL classifier tables would be applied after the classification of the traffic based on the ethertype, it turned out to be untrue, but the fix in the code did not happen. Add the ethertype to the mask, and the logic to create the ACL classifier tables permitting the ARP ethertype with the correct payload. Change-Id: I70236a8a723970c662ddaef6bc9fce93d2e630c1 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-01-03SNAT: fix out2in ICMP worker lookupMatus Fabian1-0/+7
Change-Id: Ifce17a450a06c26670d474b0f774f2504843f221 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-01-02ioam: fix Coverity warning (VPP-570)Vengada1-1/+1
Fix Coverity warning of uninitialized variable. Initialize outer_fib_index to zero (vxlan_gpe_test.c) Change-Id: If39d48c3906784c43c5af3e9e01ed9a5d5631d6e Signed-off-by: Vengada <venggovi@cisco.com>
2016-12-24Merging all ioam plugin libraries to single libraryAkshayaNadahalli10-188/+142
Change-Id: I33a646ba45848c7400df4271e4933e28e62c9ad7 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2016-12-23SNAT: fix 'show snat verbose' bug - format vector as %vMatus Fabian1-3/+3
Change-Id: Ia829da43a273c89dee47b32250ab032d992193cd Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-22SNAT: Remove the oldest translation fix (VPP-568)Matus Fabian2-8/+8
Fixed bug and add test. Change-Id: I60fbec48abd9d9cb86be1bd1cdbb7d16f9f93c3e Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-21VPP-470: Introduce VxLAN-GPE as transport for iOAM.Vengada Govindan11-57/+926
This is the second of the two commits. This commit introduces VxLAN-GPE transit functionality. Change-Id: I12f13e00f456df0047f2b7a0737addfeb683c420 Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-12-21aarch64 compatibilityChristophe Fontaine1-0/+2
- lb plugin: compatibility for non x86 platforms. - Add vector_neon.h to support simd instructions, especially 'u16x8_zero_byte_mask' used in "vnet/vnet/ip/ip4_source_and_port_range_check.c" Change-Id: I395546b0e2d5748e73daffa51269a200ef8d1235 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-12-19snat: fix port allocationMatus Fabian1-12/+21
Change-Id: Id6aeb4d19476934dfaa354562aa1703650bd037f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-19ioam: export plugin - genarate java bindingsSagar Srivastav7-6/+275
Change-Id: Ia0b81418a2171464ca4b4753afa6898c0c9ee626 Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-17VPP-563: Fix inter plugin dependency in ioam vxlan-gpeShwetha Bhandari4-57/+36
Change-Id: I31684b3844cd02ba0d0b046d621db59ecac3992d Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
2016-12-16Coverity fixes, VPP-486Dave Barach1-2/+2
Change-Id: I8906bb983128e8f6e2664e367d2015325c1125fb Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-13ACL: Install ACL JSON in install directory.Ole Troan1-11/+12
Change-Id: I3f7dbd23114acf37322f97da80be746616a9d95d Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-12snat: Hairpinning (VPP-444)Matus Fabian1-0/+114
Change-Id: I73881ef32d547852da96e77402a1758f37e812d5 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-10ioam: trace plugin read api fixSagar Srivastav1-4/+1
-fix verify job failures Change-Id: I0756f4b6577d58598702185ebe6f8ed9db23b0fa Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-09ioam: pot plugin - pot profile read APISagar Srivastav3-3/+137
Addition of read API to ioam-pot plugin which returns the current pot profile(s) configured Change-Id: I188e53811391e053860009dde3719612a2446521 Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-09ioam:trace plugin - trace profile read APISagar Srivastav4-5/+110
Addition of read API to ioam-trace plugin which returns the current trace profile configured Change-Id: Ibe2baf0f60fb2a74ddc140747b53128aba975aaa Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-09VPP-470: Introduce VxLAN-GPE as transport for iOAM.Vengada Govindan30-705/+4600
See Jira ticket for more details - New plugins created to (a) Add VxLAN-GPE as transport (b) Provide export infra for VxLAN-GPE. Change-Id: Ife50c7434f53d17a4783062310f73d063d53494c Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-12-08acl: make MACIP ACL apply/unapply/delete logic more robustAndrew Yourtchenko1-11/+26
1. vnet_set_input_acl_intfc expects currently applied table ids to remove them properly, fixed that. 2. check if the interface has MACIP ACL applied before unapplying it 3. if applying MACIP ACL to interface that has one already applied, unapply that first. These changes required also swapping the order of the add/del functions. Change-Id: I179490371507b07e9dd8852000954156c318d98c Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-08Fix incorrect creation of classifier entries for macip ACLAndrew Yourtchenko1-9/+31
The is_ip6 flag was incorrectly set during classifier table creation phase, which intermittently caused the mismatch between the mask value and the match values, resulting in dropped packets. Fix that. Also get rid of the magic numbers in that part of the code. Change-Id: I0606561e6b07e70a1aa733746b56ed0e91752c94 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-08ioam: pot plugin - generate java bindings for ioam-pot pluginSagar Srivastav6-16/+311
Change-Id: I078bbc9ea495b395ade499fe3ad7d98dd766f2be Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-07Acl JVpp api generation (HONEYCOMB-305)Jan Srnicek9-0/+684
Includes simple test cases for acl management. Change-Id: Ifff4f4baf9bfe84d73ebc46b591ecc46c85c94ad Signed-off-by: Jan Srnicek <jsrnicek@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-07Fix coverity CIDs 157344, 157343, 157341, 157340, 157339, 157336Andrew Yourtchenko2-46/+30
The macros used to verify the validity of sw_if_index passed in the API calls have puzzled coverity. Even though the issues are false positives, the checks are rather simple, so edited them to avoid using the preprocessor macros, it makes the code easier to follow. Added the null check for 157336. Change-Id: I24651346851215b236e53e682261e1f91219b381 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-07Make table chain deletion optional in classifier API (VPP-206)Juraj Sloboda1-2/+4
Change-Id: If30c0f6d5de34943bc399b3412c2d10847538c3c Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-06snat: remove duplicate makefile var definitionGabriel Ganne1-3/+0
Change-Id: Id910f033c693be882ef5da6adca4a9b46de057e4 Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-12-06api: set jvpp version to 17.01Marek Gradzki4-4/+4
Change-Id: Ib22a3a24f9b290465dc80fc683d903d58ba3804c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-06acl: The ACL plugin.Andrew Yourtchenko20-0/+5664
This is the commit from the accumulated work in the github ACL branch, to move it to gerrit. Change-Id: I85a6b0df0d3dd3c3c7588e92a1e22c553e4b6ef7 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-02snat: fix 1:1 NAT with multiple workersMatus Fabian2-3/+43
Assign worker when static mapping is created. Change-Id: I204e486e2ba5d1ef8e357759c35ba92a25a9a097 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-02Initialize the UDP checksum, or no supperDave Barach1-0/+1
Change-Id: I542fbe9ccdf83ee220080b2506b38016359e0ce5 Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-02API: Packaging of JSON files.Ole Troan5-26/+64
Change-Id: If041b6faf1a091d4758b514f0a8cd800ee0e6a89 Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <otroan@ot-vpp.cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-01Add rx interface, ip4 src+dst to the flow-per-packet recordsDave Barach2-15/+72
Change-Id: I1f49cdaf5879d9638742ed1ecc699f2e9a87f0f8 Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-30VPP-530: adapt jvpp generation for VPP API splittingMarek Gradzki2-8/+8
Now jvpp uses *.json instead of *.py api representation. Multiple *.json files are supported. Change-Id: I89fa556c7d2a35d42833f2faaa28398ebd2ed012 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-28snat: fix coverity issuesMatus Fabian3-2/+10
Change-Id: Icb8239c02af8758a9e4bf299726a89677f53451d Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-11-28snat: thread safe (VPP-443)Matus Fabian6-188/+1032
All traffic corresponding to a specific SANT user is handled by a CPU core. in2out: Non-translated packets worker lookup by src address and VRF hash in snat-in2out-worker-handoff node. out2in: Translated packets worker lookup by dst address and port number hash in snat-out2in-worker-handoff node. Change-Id: Ia092a605689539469841d382588f3f486a29a769 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-11-21Add client-side msg_name_and_crc -> msg_index tableDave Barach8-3/+117
vppapigen now generates per-message crcs. Verified that whitespace and real changes in message A don't change the crc for message B, etc. Fixed the sample and flowperpkt plugins to participate. Others need the same treatment. They don't build due to python/java language binding build issues. To use the scheme: Client connects as usual. Then call: u32 vl_api_get_msg_index(char * name_and_crc) name_and_crc is a string like: "flowperpkt_tx_interface_add_del_753301f3", aka the message name with _%08x <expected crc> appended. Try these vpp-api-test commands to play with it: vat# dump_msg_api_table <snip> [366]: punt_reply_cca27fbe [367]: ipsec_spd_dump_5e9ae88e [368]: ipsec_spd_details_6f7821b0 [369]: sample_macswap_enable_disable_0f2813e2 [370]: sample_macswap_enable_disable_reply_476738e5 [371]: flowperpkt_tx_interface_add_del_753301f3 [372]: flowperpkt_tx_interface_add_del_reply_d47e6e0b vat# get_msg_id sample_macswap_enable_disable_reply_476738e5 'sample_macswap_enable_disable_reply_476738e5' has message index 370 vat# get_msg_id sample_macswap_enable_disable_reply_476738e3 'sample_macswap_enable_disable_reply_476738e3' not found CRCs may vary, etc. vppapigen is used to build a set of JSON representations of each API file from vpp-api/Makefile.am and that is in turn used by each language binding (Java, Python, Lua). Change-Id: I3d64582e779dac5f20cddec79c562c288d8fd9c6 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-17remove reference to Intel with dpdk docsPadraig Connolly2-2/+2
*Changed configure files to say DPDK instead of Intel DPDK *Changed rpm and deb config files to say DPDK instead of Intel DPDK *Changed vnet Makefile to say DPDK instead of Intel DPDK Change-Id: Ic6e3eacf2341af873d4bd2e036d5afa857ca6355 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-11-11Fix clang compile errors in pluginsNeale Ranns1-3/+3
Change-Id: I2c2df9b5ba567bde2564c924bd9ad2fbbac775c4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-11feature: convert all feature nodes to new feature infraDamjan Marion8-127/+44
Change-Id: I34c527ba910fb282a95458b78d1d684eb337905e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-09Update sample plugin and plugin skeletons: use driver feature arcDave Barach2-13/+38
Change-Id: Ic0a1479e4a0408a4b93f47e50752d07c2bdccdde Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-03Fail to register Java API for plugin that was not loaded (VPP-522)Marek Gradzki6-35/+38
Change-Id: Idb95888ae6fc7a9df197a919e3d3283f915f4a4c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-03Remove unused jvpp dependency on plugins' control_pingMarek Gradzki2-2/+2
Change-Id: I6ebb69443e79e60c7ce6afded6a2d3af85048e6e Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-03Timestamp now a 64-bit integer: ns since 1/1/1970Dave Barach3-6/+24
Properly initialize allocated buffers Change-Id: Ib2005e605c89a164a4856790db6968fcd7520f5c Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-03Adding Sequence Number - Per Packet Counter(PPC) support for iOAM6.AkshayaNadahalli9-10/+618
- Added support in classifier session to identify a flow to be iOAM6 encap/decap - Sequence number as part of iOAM6 E2E header is created as a plugin. Change-Id: Ib7605de45aecff25d684d099b525f8dc96ee7038 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2016-11-01VPP-437: ip6 hbh processing with FIB 2.0Shwetha3-14/+21
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-01config: rename ip_config_main_t to vnet_feature_config_main_tDamjan Marion5-7/+7
It will not be used for IP only... Change-Id: I90ef3030aff7f9e24767553f019cabc1ea987126 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-31VPP-478: SNAT address range overlappingMatus Fabian1-0/+7
Ignore adding duplicate address. Change-Id: Icbb76bbcb3a78a18acb1a50d5d8ab777e9f9bd36 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-31VPP-459: SNAT dump API for in and out interfacesMatus Fabian4-61/+180
Change-Id: Ie0cba0778b094eaafa960d3f432199e1e3b2d116 Signed-off-by: Matus Fabian <matfabia@cisco.com>