summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-12-20Always set start_of_ethernet_header in ethernet-input speed pathJohn Lo1-6/+10
The speed path of ethernet-input node is setting the packet context field start_of_ethernet_header for L2 only. This is also needed for L3 path because of IPv4 ARP processing which need to know the start of ethernet header of the incoming ARP packet. Change-Id: I98ee88c482f8536e4fccc0b8afcb8811d63f4435 Signed-off-by: John Lo <loj@cisco.com>
2016-12-20Decouple dependencies/assumptions in MAC changeNeale Ranns7-21/+35
Change-Id: Ic38d0e468da1ad5b56eefda471a5961146a1c372 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-20dpdk: fix advance header for ip4-no-checksumSergio Gonzalez Monroy1-0/+1
Fixes: 78eeef747b19 ("Improve dpdk-input node to handle drivers not setting mbuf PTYPE") Change-Id: I94addcec2bf3097ab047e8d7e957bc983eab9add Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-12-20Improve dpdk-input node to handle drivers not setting mbuf PTYPEJohn Lo5-48/+111
For drivers that do not provide dpdk rte_mbuf PTYPE information, check ethernet header Etype to acccelerate IP4 and IP6 forwarding path. Update packet trace for dpdk-input node to provide more info from DPDK rte_mbuf offload flags and packet types. Change-Id: I207158797a155305314d002726c0af97b8cb0eb3 Signed-off-by: John Lo <loj@cisco.com>
2016-12-19l2input: remove unused code and reduce number of branchesDamjan Marion1-44/+18
Change-Id: Ic37b5740285dc0020b9fdb0d8c98bc304cee7aa8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-19dpdk: fix IV physical address in esp-decryptSergio Gonzalez Monroy1-2/+2
Change-Id: I96b74aa82231038c54e9d07b54cc16fc53efe0be Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-12-19dpdk: fix dpdk-crypto-input packet traceSergio Gonzalez Monroy1-3/+4
Change-Id: Ic8073215222e4800c62ac42738e73d5e990806ef Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-12-16Coverity fixes, VPP-486Dave Barach2-5/+8
Change-Id: I8906bb983128e8f6e2664e367d2015325c1125fb Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-16Fix dpdk-input check for VLAN packets including VLAN strip caseJohn Lo1-1/+16
For DPDK-16.11 or later, use packet_type to check packets with VLAN tags. For earlier versions of DPDK, keep using ol_flags but include PKT_RX_VLAN_STRIPPED bit as part of the VLAN tags check. Change-Id: Ic4ad8f04e44658dc0a99de0232fdc949cfa13e93 Signed-off-by: John Lo <loj@cisco.com>
2016-12-15Expand ethernet-input node speed-path for non-L2 pathsJohn Lo1-7/+22
Improve ethernet-input speed path for untagged packets to also handle L3 and other forwarding paths. In the IP4 forwarding path for untagged IP4 packets, per packet clock count in ethernet-input node is reduced to ~14 clocks from ~43 clocks. Change-Id: I8e6f121820e056d6085dff3eb95d6913fc422f99 Signed-off-by: John Lo <loj@cisco.com>
2016-12-15LISP: Fix several control plane message issues, VPP-558Filip Tehlar5-110/+215
* Fix TTL in map-regster message (defaults to 15 minutes) * Handle multiple local EID registration in a for loop * Parse multiple records in map-notifies, not only one * Parse map-notify in the worker thread instead of the main thread Change-Id: Ife68c2227bc5abf14c19f1a948a88d34de3b4af9 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-14Ping response in a VRF context uses correct FIB for responseNeale Ranns2-0/+17
Change-Id: I3b626a1fb9d74ebc609ded14c16c5e3d5a1655ab Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-14IP and MPLS route debug CLI fixesNeale Ranns2-2/+11
Change-Id: I1b61f36c88308c1bcf9a61a87843d1fea457d8fe Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-13LISP: Move parsing of LISP map-reply to worker thread, VPP-554Filip Tehlar2-97/+86
Change-Id: I2c3093068b97bb3ed10e1ecb067fc297013d063c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-12ip4: perf optimization in the ip4-input nodeDamjan Marion2-83/+76
Change-Id: I9ddbbf8ce0d7307b9eb82ccd0c51f84e479ffd23 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-12ipsec: go straight to lookup after esp encryptSergio Gonzalez Monroy2-8/+8
Currently, IPsec tunnel traffic goes to ip4-input/ip6-input after esp-encrypt. It is not necessary to check that the new IP header is valid (if it is not valid then we have otehr issues). Instead, just send packets straight to ip4-lookup/ip6-lookup after esp-encrypt. Change-Id: I5e35d500cb0f33f418f8554ed1f4390f02b6647d Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-12-11MPLS Nodes Dual LoopNeale Ranns4-17/+396
Change-Id: Ic54d4cb9dec8e91446b9b4d2b40ed69a14bd4355 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-11VRF imported FIB entry should inherit the flags from the export entry.Neale Ranns2-7/+11
Change-Id: Ie2c3d62a468315390ef2c4314a73cff0f6d3cdaf Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-09ip4: perf optimization in the ip4-rewrite nodeDamjan Marion1-13/+6
This change shows around 7% improvement in ip4 path when ip4-output features are not used. Change-Id: I81c1c4c38c99fff0ad8270d3c0df907acf1d8c58 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-09Add FIB unit test to 'make test'Neale Ranns1-22/+44
Change-Id: I57126416f57649768f3601cd715c7f5f4b9b9fad Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-09BFD: handle timing wheel prematurely firing eventsKlement Sekera4-69/+85
Improve handling of timeouts. Add a workaround for when timing wheel fires an event a tiny amount of time before it should actually be fired. Don't delete unneeded events at all from timing wheel, instead ignoring unexpected events. Enable the skipped BFD test, which passes now. Change-Id: I6ffd4fc0ba7a049ffe63bb0e5290641a7300dd6f Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-09Coding standards cleanup for vnet/vnet/ip, VPP-255Dave Barach52-7808/+9133
Change-Id: I12892fa571cc50e0541d6463a8b68e1b618edd9f Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-09VPP-547: Fix for co-existence of HbH and RH header in Segment routing:Shwetha4-107/+457
1. sr-rewrite - SR insertion in v6 : SR RH is inserted immediately after v6 header but if hbh header is present as per RFC2460 it should immediately follow v6 header. This is fixed. 2. sr-local : v6 packet destined to a sr segment is received if hbh is present it is not handed over to sr-local for processing. fixed ip6-local handling to skip hbh as there is no register handler for hbh for now. 3. sr-replicate - update in dual of sr_rewrite to handle replicate, fixes in sr-replicate to handle presence of hbh header Change-Id: I034523a42d2fedf97134761f956ab534babb8b36 Signed-off-by: Shwetha <shwethab@cisco.com>
2016-12-09DPDK HQoS: enable vpp control plane thread connection to hqos threadJasvinder Singh2-4/+10
The vpp control plane thread generates different types of packets such as ARP, DHCP client, IPv6 RA, etc. which need to go through HQoS thread associated with the output interfaces. Therefore, this patch enables vpp main thread connection with the HQoS thread through dedicated SWQ. Change-Id: Idcb759546d4bcd9b40beedaec4f12b29baae3e40 Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2016-12-09BFD: fix timing in the main loopKlement Sekera3-28/+59
Properly wakeup the main process loop only when necessary to avoid missed events. Improve BFD unit test reliability and speed. Add timestamps to logs and replace Queue with more efficient deque. Change-Id: I01255a02057d3146917b43b669ccdc74f31ef0c8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-09Add extra validation for VXLAN packets and tunnelsJohn Lo3-90/+244
- On VXLAN packet decap, validate its DIP against VXLAN tunnel. - Add extra logic to validate and handle creation of multicast VXLAN tunnels. Change-Id: I6abdddd7be4cd9f1bcfc88d9970ba681fdd72f7c Signed-off-by: John Lo <loj@cisco.com>
2016-12-09VPP-470: Introduce VxLAN-GPE as transport for iOAM.Vengada Govindan6-61/+137
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-08BFD: improve ip header handling, fix assertKlement Sekera4-13/+37
Instead of storing a pointer, store an offset within vlib_buffer marking the start of the ip header (similar to storing start of ethernet header). Handle negative timeout in the bfd process main loop. Change-Id: I05a1ff3ac41da5bdc3b2ac6f9e03b3241994688b Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-08Fix bug in code for setting dpdk interface descriptors (VPP-552)Juraj Sloboda1-1/+1
Change-Id: I6401b745eeb402ec980e86dc179b774d341c4764 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-08dpdk: don't drop packets if l4 checksum is flagged as badDamjan Marion2-10/+2
Sometimes NICs are flagging checksum 0 as bad, which is not always true. Change-Id: Ibb0147c94f436966e6afa472025bdf92c41f201e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-08vhost: fix coverity warningPierre Pfister1-1/+1
Change-Id: Ifb9f8d2528142ad9f11a2b6d5ac10ff9639dd5d6 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-07BFD: basic asynchronous session up/downKlement Sekera15-5/+2218
This is a work-in-progress basic BFD session handling. Only asynchronous mode is supported at the moment. Setting the session flags doesn't work. Change-Id: Idba27f721b5c35be5a66a6d202a63d23ff7ecf6f Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-07l2fib: add mac aging supportDamjan Marion6-18/+250
Change-Id: Ib617ae0f76320d596cc6c4b384da76c91d701a24 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-07Prevent re-entrant walks on an adjacency.Neale Ranns6-57/+140
The re-entrant walks were caused when the walk from an IP adj updated a fib_netry with an MPLS adj which in turn triggers a walk of the IP adj. Re-entrant walks do unnecessary work. also fixed a walk merge issue where the encountered walk should only be checked for equivalence woth the most recent alk, not any in the list. Otherwise an UO,DOWN,UP beceoms (2*)UP,DOWN Change-Id: Ib8b27f055dc6c1366d33740276d1c26cd314220a Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-07LISP mapping timersFilip Tehlar3-1/+63
Change-Id: I4cd600189e936b07b628371df2f7fe2e2dc3e63d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-07Refactor tap binary APIs, VPP-550Dave Barach4-2/+388
Change-Id: I1599b3659411b5f4451c364cc5ada63cfa8e0a6b Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-07Make table chain deletion optional in classifier API (VPP-206)Juraj Sloboda2-9/+19
Change-Id: If30c0f6d5de34943bc399b3412c2d10847538c3c Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-06SPAN API: Fix various errors making SPAN break make tests.Ole Troan3-4/+5
- s/l2/span in span_api.c in foreach macro - Not installing .json from Makefile.am Change-Id: I2469fe01138d62e044b8262cdb5a6e3b009bb43e Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06Refactor binary APIs for IP, VPP-549Dave Barach6-2/+1699
Change-Id: Ieff6b22e2432600a231f74e75716e000d488a78f Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-06Add binary API for reading interface/vrf assignment (VPP-439)Juraj Sloboda2-2/+77
Change-Id: I9b7cb90127e464fea520bb1b0a3e93c05a0e9e8e Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-06span: add tx functionality and support for multiple mirror portsPavel Kotucek9-112/+435
Change-Id: Ib6dd290085e6f9a434499af8d19f346220dc8428 Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-06vhost: Improve data pathPierre Pfister2-425/+663
This patch significantly improves vhost Tx and Rx performance (20% Mpps improvement in PVP scenario). Most significant change consists in the split of virtio ring parsing and memory copies. Other minor changes mostly consist in getting rid of unnecessary variables. Change-Id: Ia94e12ab9a6c114e3f7fef376a9343823d051209 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-06Fix length in LCAF headerFilip Tehlar3-5/+5
Change-Id: I56461c5d892ce223d1160fb57313ca1c51db9a23 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-06MAP: Split MAP API out of vpe.api.Ole Troan4-13/+497
Change-Id: I91a612a00ea85a9ddd4233d9aa19a6a4332d9701 Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06vhost: Code cleaningPierre Pfister2-334/+237
After a bug was found, I decided to review old vhost code. This change cleans some of it by: - Use unix file private data rather than hash table - Use vnet interface lookups rather than hash table - Keep track of unix_fd index rather than fd value - Change some indent - Store interfaces in a clib pool rather than hand-made pool The overall change reduces the number of lines as well as the amount of state kept in vhost structures. Change-Id: I6b9b670b9c7e1fb85981bcf2099f7140b0251fe0 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-06api: missing support for dumping of neighbours (VPP-333)Pavel Kotucek5-55/+109
added API to dump ipv4/ipv6 neighboors (added by ip_neighbor_add_del). Change-Id: I33209a3d06beba64d68465c0892a9f4c65657334 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-06Implement LISP control plane messagesFilip Tehlar8-64/+1395
* Map-register * Map-notify * RLOC probing Change-Id: I7f6295376b21cd67805446dfd1c1033acead2d4b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-05All mcast and All class E have /4 not /8 subnet masksNeale Ranns1-4/+4
Change-Id: I29e54014f43f0b0ce087380b2318fe623d879204 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-05Move interface APIs to vnet/vnet/{interface.api,interface_api.c}Dave Barach2-6/+771
Change-Id: If3f0f73ad1c1d54ac69122052c977eb83a9e16eb Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-05api: set interface MTU API (VPP-442)Matus Fabian2-1/+71
Change-Id: I67178f2703febb8ad3eb011606cb8a86fab5ee94 Signed-off-by: Matus Fabian <matfabia@cisco.com>