aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-03-21bond: Add bonding driver and LACP protocolSteven35-1/+7338
Add bonding driver to support creation of bond interface which composes of multiple slave interfaces. The slave interfaces could be physical interfaces, or just any virtual interfaces. For example, memif interfaces. The syntax to create a bond interface is create bond mode <lacp | xor | acitve-backup | broadcast | round-robin> To enslave an interface to the bond interface, enslave interface TenGigabitEthernet6/0/0 to BondEthernet0 Please see src/plugins/lacp/lacp_doc.md for more examples and additional options. LACP is a control plane protocol which manages and monitors the status of the slave interfaces. The protocol is part of 802.3ad standard. This patch implements LACPv1. LACPv2 is not supported. To enable LACP on the bond interface, specify "mode lacp" when the bond interface is created. The syntax to enslave a slave interface is the same as other bonding modes. Change-Id: I06581d3b87635972f9f0e1ec50b67560fc13e26c Signed-off-by: Steven <sluong@cisco.com>
2018-03-21VPP_1202: handle DHCP NAK packetsDave Barach2-1/+28
Change-Id: I469a734747099cef2d135d77e4db0244e24bf0bc Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-03-21UDP Encap countersNeale Ranns6-2/+248
Change-Id: Ib5639981dca0b11b2d62acf2c0963cc95c380f70 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-21Detailed Interface stats API takes sw_if_indexNeale Ranns1-1/+4
Change-Id: Id09d777c1706c1d613b14b719bcac596194465cd Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-21IGMP plugin initialises the FIB/MFIB via ip4 moduleNeale Ranns1-1/+4
Change-Id: If9d7b266c4b49d4e7810ebc7d18fa154532d0322 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-21NAT44: fix removal of LB static mappings with same local address and port ↵Matus Fabian1-5/+35
pair (VPP-1199) Change-Id: Iad8c626e83bbc58d5c85b6736f5a3dd5bc9ceafb Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-03-21reassembly: feature/concurrencyKlement Sekera12-353/+795
This change makes ip reassembly an interface feature, while adding concurrency support. Due to this, punt is no longer needed to test reassembly. Change-Id: I467669514ec33283ce935be0f1dd08f07684f0c7 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-03-20FIB Interpose SourceNeale Ranns32-4343/+5453
The interpose source allows the source/provider to insert/interpose a DPO in the forwarding chain of the FIB entry ahead of the forwarding provided by the next best source. For example if the API source (i.e the 'control plane') has provided an adjacency for forwarding, then an interpose source (e.g. a monitoring service) couold interpose a replicatte DPO to copy the traffic to another location AND forward using the API's adjacency. To use the interose feature an existing source (i.e FIB_SOURCE_PLUGIN_HI) cn specifiy as a flag FIB_ENTRY_FLAG_INTERPOSE and provide a DPO to interpose. One might also consider using interpose in conjunction with FIB_ENTRY_FLAG_COVER_INHERIT to ensure the interpose object affects all prefixes in the sub-tree. Change-Id: I8b2737b985f8f7c08123406d0491881def347b52 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-20Fix Allow ARP packets for dot1q interface with MACIP enabledSteve Shin1-50/+169
ARP packets need to be allowed for dot1q interface when MACIP is enabled. Change-Id: I33dd3cb6c6100c49420d57360a277f65c55ac816 Signed-off-by: Steve Shin <jonshin@cisco.com>
2018-03-19VCL: Fix Coverity CID183003Dave Wallace1-1/+1
*** CID 183003: Program hangs (LOCK) /src/vcl/vppcom.c: 2988 in vppcom_session_accept() Change-Id: I123b73198d305fb0226516942caa410d3647a6bc Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-19Use x(void) not x() in new interface stats codeNeale Ranns2-5/+5
Change-Id: Iaceaba4dc22341c631c858516b960ce97c4aa564 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-19session: fix coverity warningsFlorin Coras2-1/+12
Change-Id: I022dc40476ea9c30957b12bf1bd0629c6eb41cda Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-19Coverity found bugs in recent MPLS changesNeale Ranns3-17/+8
Change-Id: I590945fdc1af53208c990a52bbecdc992fd27532 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-03-19QoS code coverity found errorsNeale Ranns1-2/+2
Change-Id: I6b125b79bdc560bfb81f307367c844b6a5af6368 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-03-19FIB code coverity found defectNeale Ranns1-1/+1
Change-Id: I7cdc29dd6481242aaace75138cc34e2f5ea76b81 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-03-19VCL: Fix Coverity CID183009Dave Wallace1-1/+1
Change-Id: I0233b20eb4c7dcb325e15b97a22ecd54200f6fde Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-19Interface Unicast, Multicast and Broadcast stats on the APINeale Ranns4-6/+162
Change-Id: I7c75da358aff1bd0216a602a49f2909cef5d920d Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-19IGMP pluginJakub Grajciar17-2/+2792
- host mode: igmp_listen - API to signal that the host has joined an (S,G) - route mode: igmp_enable - API to enable the reception of host IGMP messages igmp_event - API to report the host join/leave from an (S,G) Change-Id: Id180ec27dee617d33ab3088f5dcf6125d3aa9c8f Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-03-19QoS: publish qos.api.h fileMatus Fabian1-0/+3
Change-Id: Ice041610c23563ead13019216516aff23b7775b9 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-03-19IPIP: Fix coverity error.Ole Troan1-0/+3
Change-Id: Ia2b3350bf8e2c72eee3f33936ba16dd817c75c72 Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-19FIX: Fixed ip6_fib_dump api function response.Dmitry Vakhrushev3-1/+9
Change-Id: I26c5d61bc2f6188bcd4ecac4b5e9385821b0398b Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
2018-03-18Remove unnumbered configuration on interface deleteNeale Ranns6-80/+68
Change-Id: Iae5532c3d53e208831f3b2782242d9e59d367087 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-16cli: make q work againFlorin Coras1-0/+8
After the addition of "qos" cli, "quit" command is not the only match for "q". Therefore, add a separate "q" cli to avoid ambiguity. Change-Id: I84f6ddce14ef7d5fa7089537cb62adfecea0e501 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-16QoS recording and markingNeale Ranns22-18/+1644
Change-Id: Ie5a50def4ec1e4a3b3404a8b6ab9ec248bc16744 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-16Fix a long-latent bi=0 bug in vlib_buffer_add_dataDave Barach3-4/+4
Change vlib_buffer_add_data() so it interprets ~0 to mean please allocate a new buffer, instead of 0. Fixed a couple of calls to pass ~0 instead of 0. Zero has always been a valid buffer index, we never happened to actually use it until recent buffer allocator changes. The presenting symptom: ASSERT failure when running "make TEST=test_mpls test-debug" Change-Id: Ic909913c1d464b3434d6d47e0c58f978806854d5 Signed-off-by: Dave Barach <dave@barachs.net>
2018-03-16IPv6 ND Router discovery control plane (VPP-1095)Juraj Sloboda6-1/+1032
Change-Id: I4b5b60e7c6f618bb935eab1e96a2e79bbb14f58f Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-03-16stats: allow configuring poller delayKlement Sekera4-19/+126
This introduces a startup config option for configuring stats poller delay. Use `stats { interval <seconds> }` to configure the delay at startup. The default value remains unchanged - 10 seconds. Change-Id: If12cb1f7f6f1f8ecfa461561bc77847cdf260388 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-03-16IPSec: fix IPv6 policy deletingMatus Fabian1-1/+1
Change-Id: I9f487d6033edde09557709f94f97fc8a70246b09 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-03-16Fix sample-plugin build on ubuntu 18.04Damjan Marion1-1/+0
Change-Id: Ia10aadc7f969b20e8cd50989230a80e7e21cbff4 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-16IPv6 ND Router discovery data plane (VPP-1095)Juraj Sloboda5-6/+615
Add API call to send Router Solicitation messages. Save info from incoming Router Advertisement messages and notify listeners. Change-Id: Ie518b5492231e03291bd4c4280be4727bfecab46 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-03-16session: allow local host bindsFlorin Coras1-4/+4
Change-Id: I906bbc5bc75279f210093fb9276db9e35ee44c1f Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-15Update session local address is_ip4 on bind when not globalKeith Burns (alagalah)1-0/+1
Change-Id: I73ddca5a86e83c9f547778828bb49d2bd4675eaf Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-03-15tls: add openssl engineFlorin Coras14-190/+1027
Change-Id: I6c215858d2c9c620787632b570950b15274c0df2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-15Add a helper function to fetch vlib node index for already stacked dposVijayabhaskar Katamreddy2-0/+40
Change-Id: Ie07c6f3723312ce88046570dcbe591b72724657b Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2018-03-15use system provided ccache linksDamjan Marion1-6/+6
Change-Id: I0860bbd0cf368fc3638b861504ebf642ee9d3807 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-14IPIP: Also publish the ipip.api.h file.Jon Loeliger1-0/+1
Change-Id: I0b1237db541b752393483496ea19dec55799454e Signed-off-by: Jon Loeliger <jdl@netgate.com>
2018-03-14Clean up vpp build bootstrap stepDave Barach2-9/+10
Net of rewriting vppapigen in python-ply, there's no need to compile vppinfra. Install a copy of vppapigen in .../build-root/tools/bin, so the sample plugin build will work. Rationalize suffix-rules.mk. Add clang, clang++ links to .../build-root/ccache-bin. Change-Id: Ib4017848b7767b6054238ea544ee5319667c3659 Signed-off-by: Dave Barach <dave@barachs.net>
2018-03-14vlib: internal buffer manager reworkDamjan Marion8-284/+190
- buffer_main is no longer part of vlib_main_t - pool of free lists is still part of vlib_main_t - mheap is not used anymore for buffer allocation - simple bitmap bassed buffer alloc scheme is introduced Change-Id: I3e1e6d00e2c8122293ed0a741245eb841315a1ff Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-14Prevent calling rte_eth_xstats_get not initialized devSzymon Sliwa1-0/+2
DPDK API forbids calling rte_eth_xstats_get on a port which has not been setup up yet. Citing the DPDK docs (reformated): " The functions exported by the application Ethernet API to setup a device designated by its port identifier must be invoked in the following order: rte_eth_dev_configure() rte_eth_tx_queue_setup() rte_eth_rx_queue_setup() rte_eth_dev_start() Then, the network application can invoke, in any order, the functions exported by the Ethernet API to get the MAC address of a given device, to get the speed and the status of a device physical link, to receive/transmit [burst of] packets, and so on. " original can be found here: http://dpdk.org/doc/api/rte__ethdev_8h.html#a36ba70a5a6fce2c2c1f774828ba78f8d Change-Id: I91854b8b0dd12dd028b4b36665cca49f16eac24c Signed-off-by: Szymon Sliwa <szs@semihalf.com>
2018-03-14IPIP: Add IP{v4,v6} over IP{v4,v6} configured tunnel support.Ole Troan19-1112/+2188
Change-Id: I166301c9e2388bae5f70ec0179d663a2703e27f5 Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-14VCL: Handle epoll HUP events in sock_test_serverDave Wallace1-1/+10
Change-Id: I7b13319228c498a565f8556b73628e7ff3b106c4 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-14srv6-plugins: fixing documentationFrancois Clad4-201/+254
Change-Id: I72439df585e56b3cbb7051f056fc35cddf0c864b Signed-off-by: Francois Clad <fclad@cisco.com>
2018-03-14srv6: minor CLI modificationsFrancois Clad4-15/+14
'sr steer [...] via sr policy [...]' -> 'sr steer [...] via [...]' 'show sr steering policies' -> 'show sr steering-policies' 'clear sr localsid counters' -> 'clear sr localsid-counters' Change-Id: I0efbf38753a4bd0b7fba8cd08250e136e8e55199 Signed-off-by: Francois Clad <fclad@cisco.com>
2018-03-14Improve l2_macs_events API to provide MAC move informationJohn Lo5-10/+24
Change mac_entry layout in l2_macs_event API message so the MAC entry can be either add, delete or move where the sw_if_index of an existing MAC entry changed. Also added a 8-bit flags field in mac_entry for any future expansion. Change-Id: I3bf9e1cf2556f2938202025a5d0772c2ce2fc99f Signed-off-by: John Lo <loj@cisco.com>
2018-03-14VOM: acl: Add support for acl ethertype unbind and dumpMohsin Kazmi3-1/+182
Change-Id: I667b9ccabe54c8f9cff5b1a2e63864965f5064f5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-03-14At AF_PACKET socket create, do intf bind before rx ring cfg to avoid ↵Chaoyu Jin1-12/+12
receiving pkts from other interfaces Change-Id: Ie40ee9129edaac717e716b469f4d10f3c29a4932 Signed-off-by: Chaoyu Jin <chjin@cisco.com>
2018-03-13VCL: Fix race condition in event thread functionDave Wallace1-11/+17
Change-Id: I8586faee0b3a40932cd711b60cebe1a23ff82a56 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-03-13SCTP: data retransmission & snd_space fixMarco Varlese3-4/+88
This patch addresses two things: 1) The data retransmission which needs to be taken care of when the SCTP_TIMER_T3_RXTX; 2) The correct calculation of the amount of data transmittable considered: the local window, the peer window and any data inflight. Change-Id: I2d03a6cb43e4e7770c4910f8547c66e1026aeace Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-03-13Common form of fib-path reproting in dumpsNeale Ranns10-130/+321
Change-Id: I8f6fdbbeef2ac7e9fe5d87490ae5cba6e9a0b294 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-03-13FIB: DVR paths are not considered L3 attachedNeale Ranns1-0/+10
Change-Id: Ie473dca3264b480b007d2eb500aaa557b889c7c1 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>