aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2017-08-21PPPoE usses a midchain adjacency stack on an interface-tx DPONeale Ranns10-555/+775
1) introduce an interface-tx DPO. This is a simple wrapper around a sw_if_index. enhance DPO stacking functions to allow per-instance next-nodes and hence allow children to stack onto the interface per-instance tx node and not on 'interface-output'. 2) update PPPoE code to use ta midchain stack on a interface-tx DPO of the encap-interface. This remove the need for pppoe_encap node (which is replaced by the adj-midchain-tx) and interface-output node is no longer used (see above). Since PPPoE encap node is no longer needed, the PPPoE seesion does not need to be retrieved in the data-path, hence the cahce misses are removed. Change-Id: Id8b40f53daa14889a9c51d802e14fed7fba4399a Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-19Fixed ip add bug for ip6 with review commentspragash1-4/+4
Change-Id: Ie1fba1a32020775444c7b1ed800e8559b54691ff Signed-off-by: pragash <pxv3620@rit.edu>
2017-08-18session: fix multi-buffer segmentsFlorin Coras3-34/+40
Change-Id: I0e22c85ea570b934b9c78dc5e86d86d690bdae5e Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-18gpe: fix sub-interface hash lookupFlorin Coras2-10/+10
Change-Id: Ice6b3818ee24c7c248bf61e4d6c1ef2a85cb8fb1 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-18feature: exit on misconfigured features (VPP-915)Florin Coras1-3/+7
Change-Id: Ifa11f356d727b69cb121a2bf4cfb9d87883f545d Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-18Use correct msg ID in the sw-interface-event from TAP and VHOSTNeale Ranns2-2/+2
Change-Id: I0124fa264f7f390fc7cd9722da59be03116831c5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-17TCP source address automationDave Barach5-13/+387
- v6 support - Non-default VRF ID collection - Break up ip source address list into CLI + API-friendly functions - Automate proxy arp / proxy nd configuration - Automate local adjacency insertion - Binary API support Change-Id: Iede31184f65cc1ec8c414447d2d60a1334e3fe15 Signed-off-by: Dave Barach <dave@barachs.net>
2017-08-16ip4: cleanup ip localFlorin Coras1-153/+85
Change-Id: I4f751b0181f25ec6c4abd3a9c7b0386d80743b3a Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-16tcp: fix v6 sessionsroot7-81/+90
Change-Id: Ia6dd5e948b17b2f3866fe70838eabb09e35415e1 Signed-off-by: Dave Barach <dbarach@cisco.com> Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-16No context in SW interface eventNeale Ranns2-3/+8
At this pointin the game, events do not have an associated context. they have the client_index and pid instead. Change-Id: I5052cab78f710bba630a61d2390acbaa1b3813ab Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-16tcp: improve builtin http serverFlorin Coras5-197/+108
Additionally: - remove opaques from stream_session_t - ensure first segment manager is only used once per app. Change-Id: I143d1fdb8effc88815ef969b78122ba3ac29e06e Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-16Add missing counters for P2P ethernet interfacesPavel Kotucek2-0/+40
Change-Id: I9d172d70f645fea5005abced73ca2700e640263a Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-08-16NAT64: Fallback to 3-tuple key for non TCP/UDP sessions (VPP-884)Matus Fabian2-0/+123
Change-Id: I4cafc8291725feb499355092bd429433e649b5b2 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-08-15Support proxy ARP on mirrored TAP interfacesNeale Ranns1-4/+16
When VPP has an interface whose address is also applied to a TAP interface on the host, then VPP's TAP interface will be unnumbered to the 'real' interface and do proxy ARP from the host. the curious aspect of this setup is that ARP requests from the host will come from the VPP's own address. Change-Id: Ia238790e1034ba3cd3facdab29387b65a31525f2 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-15IPv6 local-address for P2P ethernet interfacesPavel Kotucek1-1/+2
Change-Id: I87d3cb5754843f38593e92f60a39af2e5241d1cf Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-08-15VPP-939: Update CLI Helptext for rx-placement commandsBilly McFall2-94/+293
The CLI commands were change from 'set/show interface placement' to 'set/show interface rx-placement', but the associated help text was not updated. On the 'set interface rx-placement', some of the parameters were renamed, which was confusing when looking at the documentation for help. While in the file interface_cli.c, cleaned up several other CLI commands. There are still other commands in the file that need addressing. Change-Id: Ifdc357c73ad9f3362133c495217b5a6b3a411eab Signed-off-by: Billy McFall <bmcfall@redhat.com>
2017-08-15tcp: state machine improvementsFlorin Coras7-23/+40
- Add SYN_RCVD timeout - Fix FIN_WAIT_1 to CLOSING transition Change-Id: I42ca7fc087f6fdfae15bd7a6175dd3226ed341c7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-15coverity: remove dependency on uint32_t in fib_test.cMarek Gradzki1-1/+1
Fixes make build-coverity Change-Id: I5cf6992224f18b8e8770d365c42b3e759dc93f73 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-08-14TCP: Update time_now once per burstFlorin Coras4-3/+15
Change-Id: I58089d7a9867ede9d8a36b2aea62edef04cb5b81 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-14FIB table add/delete API onlyNeale Ranns4-0/+59
commit only the addition of the .api definition and their invocation through VAT so CSIT can use it Change-Id: Id510f14b1ce007fe5e92120507ea34100652fc64 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-14TCP: update builtin server/client cli helpFlorin Coras2-5/+19
Change-Id: I224ef3ce1c4ac2ade5ba733a42c78b7ba5c0040e Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-13default update adjacency function deos not return multicast adjacencyNeale Ranns1-6/+40
by not returning a multicast adjacency type when requested, but instead returning a nbr type, the mcast adj was never correctly deleted. hence when reused the adjacency object was not realocated from the pool and when it was freed a second time a crash occured. Change-Id: Ia74ae3e889db0dfba8ec3c6a0cccfef215587ff6 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-12LISP: fix fid nsh address formattingFlorin Coras1-1/+8
Change-Id: I912fa53c02c720901c9fb253550790829107de39 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-11Fix tcp multi buffer segments retransmissionFlorin Coras7-154/+298
- Fix tcp/udp sw checksum computation - Fix allocation of multi buffer tcp segments for retransmits - Send FIN only if/when tx fifo is empty Change-Id: I2e43a14b87a72c9e547b4339b9a51811cf5732c4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-11LISP: fix wrong reply message in map_register_fallback_threshold callFilip Tehlar1-1/+1
Change-Id: I0011c211908db6067f918fbaaa7d6863191d5bd3 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-08-11Dedicated SW Interface EventNeale Ranns4-13/+26
Change-Id: I06a10a4291e61aec3f1396d2514ed6fe3901897a Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-08-11the automatic addition of IP address to the magic TAP interface should only ↵Neale Ranns1-0/+21
happen for one table Change-Id: I99d3e9227c33ee42b90e4842080960fcc6c03913 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-10Fix memory leaks found in policer code.Chaoyu Jin1-0/+34
2nd commit is to fix style failures. 3rd commit is to remove unneccesary change based on review comment. Change-Id: I4d54d25c27e037b9d0438f8af416cf113763dc6d Signed-off-by: Chaoyu Jin <chjin@cisco.com>
2017-08-10Fix LISP cp buffer leakageFlorin Coras1-1/+3
Change-Id: Id7e0f967cc510f0b45f043f74493854083ac67ae Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-10Improve the svm fifo allocatorDave Barach2-3/+24
- Round up requested fifo size to the next power of two - Maintain per-segment power-of-two freelists - Allocate fifos in chunks, to amortize alignment overhead - Detach builtin test client application after each run so we can use different fifo sizes each time - Be more suspicious of session / application indices Useful prep work for dynamically resizing fifos. As far as the svm fifo code is concerned, it's OK to set fifo->nitems anywhere in the interval: [0, 1<<(fifo->freelist_index) + FIFO_SEGMENT_MIN_FIFO_SIZE] It's unlikely that setting nitems below the path MTU will work out very well... Change-Id: Idad73a027dfb7412056cb02988b77e300fa7e8a7 Signed-off-by: Dave Barach <dave@barachs.net>
2017-08-10MPLS tunnel - multiple labels on the CLI - fix cut and paste robot errorsNeale Ranns1-13/+4
Change-Id: I675af62d9c0c9cf2e340bf19e902695861d4e4b5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-09VPP-933 VPP crashes when deleting an ARP entryMatthew Smith1-0/+7
When attempting to delete an ARP entry on an interface that hasn't had any ARP entries added yet, VPP was retrieving an array element at an index that was out of bounds and trying to dereference it. Change-Id: Id141d3bfd8378dd8dd63f43b0b4b41461c285a4f Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2017-08-10TCP proxy prototypeDave Barach10-210/+747
- Clean up internal API client registration - Add proxy server - Add a reference count to the svm fifo Change-Id: I5ace1c85497062ed412d26ae76a9e6741af1e984 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-09Allow multiple MPLS output labels to be passed on the CLINeale Ranns3-16/+53
Change-Id: Ib5af105e32b6b0df86923e189ab6bf6ee59de5b9 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-09ARP reply: use interface to build rewrite stringNeale Ranns1-17/+13
Change-Id: I488965e78d0b3291af4c82902098ca666317a22e Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-08L2 over MPLSNeale Ranns49-433/+546
[support for VPWS/VPLS] - switch to using dpo_proto_t rather than fib_protocol_t in fib_paths so that we can describe L2 paths - VLIB nodes to handle pop/push of MPLS labels to L2 Change-Id: Id050d06a11fd2c9c1c81ce5a0654e6c5ae6afa6e Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-07LISP: Map-server fallback featureFilip Tehlar5-58/+311
Change-Id: I1356296e1a85b5d532f45ba70572b2184ac3f6fb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-08-05LISP: fix map register TTL reply handler, VPP-926Filip Tehlar1-1/+1
Change-Id: I0c638ad5dabc035b4b7de3b9befbe2c8ba7b0b66 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-08-04don't truncate the interface name in 'sh ip arp'Neale Ranns1-1/+1
Change-Id: Ifb17bae98ae1362078889d40e2369d58997bd92c Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2017-08-04Initialize vxlan-gpe bypass modeHongjun Ni1-0/+16
Change-Id: I2a75357d49a971818c8d96d56d184c5d01fbc775 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-08-03DHCP Client: receive unicast ACKsNeale Ranns2-8/+80
despite VPP DHCP client setting neither ciaddr nor giaddr and setting the broadcast bit (see RFC 2131 section 4.1) some DHCP servers will still send a unicast DCHPACK. So as not to drop this VPP must have both 1) a receive FIB entry for the OFFERED IP adress and 2) a 'don't drop me because of uRPF' FIB entry for the DHCP server's address. Change-Id: I167d858deb45629318cbdccf5bf67d971730a42f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-03Add support for API client to receive L2 MAC eventsJohn Lo9-162/+497
Added APIs want_l2_macs_events and l2_macs_event to allow an API client to receive notification events from VPP for MAC learned or aged in L2FIB. Only one API client is allowed for L2 MAC events. The want_l2_macs_events API allow caller to specify MAC learn limit, event scan delay and max number of MACs that can be included in a event message. These parameters should be choosen properly as to not have too many MAC events sent by VPP and overwhelm the API share memory. They can all be left as 0's so VPP will setup reasonable defaults which are: 1000 learn limit, 100 msec scan delay and 100 MACs per event message. If want_l2_macs_events is never called, VPP learning and aging should behave as before except that MAC entries provisioned by API or CLI will not be aged, even if it is not set as static_mac. These non static MACs, however, can be overwritten by MAC learning on a MAC move as a leared MAC. Only learned MACs are subject to aging. Change-Id: Ia3757a80cf8adb2811a089d2eafbd6439461285c Signed-off-by: John Lo <loj@cisco.com>
2017-08-02LISP: make TTL for map register messages configurableFilip Tehlar5-0/+153
Change-Id: I38e1c6a6b033e12ef3f4345a1deff73fa4adbea0 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-08-02Fix vpp crash sending arp or probing neighb (VPP-917)Pavel Kotucek2-0/+29
VPP crash when trying to send arp message or to probe neighbor over interface with IP address but without hw address (local0 and tunnels - vxlan, gre, ...) Change-Id: I08a1c97d3ea913fc11b2886cf73b2ccc31356664 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-08-02Fix ip checksum offload, move badly-placed ASSERTDave Barach2-2/+4
Change-Id: I5e04d618c4b4987edc64f6d82fd0a81b8362dbb0 Signed-off-by: Dave Barach <dbarach@cisco.com>
2017-08-02Fix tcp tx buffer allocationFlorin Coras11-111/+363
- Make tcp output buffer allocation macro an inline function - Use per ip version per thread tx frames for retransmits and timer events - Fix / parameterize tcp data structure preallocation - Add a couple of gdb-callable show commands - Fix local endpoint cleanup Change-Id: I67b47b7570aa14cb4634b6fd93c57cd2eacbfa29 Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-08-02Make ip csum configurable in vlib buffer functionsFlorin Coras8-24/+28
Also fixes csum computation for lisp control plane 4o6 encapsulated control messages. Change-Id: I991e0b5c0d16dc51e0b5bdc79e1d752270b34765 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-01FIB path weight incorrect in dump (VPP-922)Neale Ranns6-11/+17
Change-Id: I655f41878ca3595681d0255782b0faba01c9824b Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-01P2P EthernetPavel Kotucek13-29/+546
Change-Id: Idb97e573961b3bc2acdeef77582314590795f8c3 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-08-01SPAN/API:enable L2 dumpEyal Bari2-6/+10
Change-Id: Icea1dff33aae35a85ae1a7ed1900a0abb3fe4b6b Signed-off-by: Eyal Bari <ebari@cisco.com>