aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/interface.c
AgeCommit message (Collapse)AuthorFilesLines
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-1398/+0
Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-20Decouple dependencies/assumptions in MAC changeNeale Ranns1-16/+7
Change-Id: Ic38d0e468da1ad5b56eefda471a5961146a1c372 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-02interfaces: make no_flatten variant of inteface_ouptut fn defaultDamjan Marion1-4/+4
Flatten variant was used only by old native drivers. Change-Id: If206c6c8b4f10843d60f908c3acb4e8db83ce03d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02feature: add interface-output arcDamjan Marion1-1/+25
Change-Id: Ifea275a312e0f2474cdc3a336ac51ea83e403c74 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-01Add a 64-byte interface "tag" for vhost and tap interfacesDave Barach1-0/+1
This patch should dispose of spurious objections around interface tag requirements, currently in use as excuses not to support the vpp ML2 plugin. Add "u8 tag[64];" to the sw_interface_details message sent by vpp to control-plane clients. Add u8 tag[64] to the create_vhost_user_if and tap_connect APIs. Added debug CLI to set/show/clear the interface tag on any vnet sw interface. Added the sw_interface_tag_add_del API to set/clear tags on any vnet sw interface. There can be no expectation of "tag atomicity" with respect to physical hardware. Vpp discovers devices before establishing a control-plane connection. This patch upload verifies using the csit oper-161128 branch Change-Id: If8520119e7a586c5ccf0fdda82484ac205622855 Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-30VXLAN multicast dst (remote) address supportEyal Bari1-5/+5
Added support for multicast vxlan tunnels which are used for bridge domain flooding instead of flooding the all unicast tunnels in the bridge domain. features added: * conditional flooding to some of the BD members - based on existance of multicast tunnel member * added local multicast adjacency - multicast packets are handled as the same as unicast - based on src (unicast) address * refactored some of vxlan tunnel creation code - to unify ip4/6 handling Change-Id: I60cca4124265a8dd4f6b2d6ea8701e52e7c1baa4 Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-11-21Convergence ImprovementsNeale Ranns1-7/+36
addressing convergence times when interface is shut. 1) prioritise the registered callback handlers. Add FIB convergence handler as high priority 2) hook the FIB convergence call-back into HW link down. 3) don't schedule a walk of a FIB node if it has no children 4) Checks at fib_path_t to prevent unnecessary walks, that it prevent the same information propagting the graph multiple times. Change-Id: I406966b50f31d77c221821b8649776d66655194c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-15feature: remove old interface output feature codeDamjan Marion1-36/+3
Only consumer was ipsec which is now moved to the new ip{4,6}-output feature arc. Change-Id: I06008e67b5449c25eae77f28e1688521af3a23e0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15VPP-393: Subinterface is still used after deletionPavel Kotucek1-0/+10
Fixed bug in delete of sub-interface, if sub-interface is xconnected it was not deleted correctly (show interface address fails). Interface is set to L3 mode before deletion. Fixed help in API command. Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Change-Id: Ibe781e4b53422e6535e34ec72dbe274f9045f051
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-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-14FIB2.0: Adjacency complete pull model (VPP-487)Neale Ranns1-0/+59
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-03L2 over LISP and GRE (VPP-457)Neale Ranns1-0/+1
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-30VPP-363: add ability to change mac address of the interfacePavel Kotucek1-0/+57
Added ability to change interface address. Added new CLI and API functions. Change-Id: Ia336bc75ad8c5858c26f39af851485c4c6f19f58 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns1-2/+10
Main Enhancements: - Protocol Independent FIB API - Hierarchical FIB entries. Dynamic recursive route resolution. - Extranet Support. - Integration of IP and MPLS forwarding. - Separation of FIB and Adjacency databases. - Data-Plane Object forwarding model. Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-12VPP-392 properly pass flags from vnet_hw_interface_set_flags_helper toKlement Sekera1-2/+1
vnet_main->hw_interface_link_up_down_functions Change-Id: I7aacaebade695e8fec8306426f693f287b605ed8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-08-08VPP-311 Coding standards cleanup for vnet/vnet/*.[ch]Dave Barach1-357/+460
Change-Id: I08ed983f594072bc8c72202e77205a7789eea599 Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-06Bug fix for VPP-104 about not being able to down a sub-if if the super-if is upCalvin1-1/+3
Change-Id: I913c9807519aa10e515d12fcfbcbfc22b58f5839 Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-07-01VPP-171: fix a set of hw interface recycling bugsDave Barach1-0/+9
Change-Id: I735292bb2176742acab2295f90956c57e6f7ec1c Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-14Fix double-enqueued packet in interface-output dual-loop, fixes VPP-116Damjan Marion1-2/+2
When speculative enqueue fails and a buffer needs to be moved to a new node queue the original buffer is not correctly removed from the original queue so buffer get send for transmit and encryption at the same time. This issue will only be hit with the double loop so low throughput traffic like pings will not hit the issue. This code path is also only hit when the feature flag is enabled so will not be hit by normal traffic Patch also reorgnizes code to reduce number of branches in the interface output node loop. Change-Id: I3653400e58bdfd833e6c42823bab51586128b54b Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-11Add vnet_rename_interface APISean Hope1-0/+37
Change-Id: I9a8e1ed310aa9a72644540856426c77f61f4b4bb Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-07Enhance CLI/API Support for Bonded InterfaceJohn Lo1-0/+9
For interfaces which are slave links to a bounded interface, do not allow sub-interface creation nor interface state to be changed. Change "show interface" to display interface state as "bond-slave" for slave links to a bonded interface. Change "show hardware" to support a "bond" keyword and display slave links to a bonded interface. Change-Id: I4db3cae6985bcb1489ab16a07c72c5ee9b2f2dd3 Signed-off-by: John Lo <loj@cisco.com>
2016-03-01Fix for TX and RX descriptor queue lockupGeorgi Savov1-7/+27
On admin up/down changes the TX and RX queues were getting locked up for VNET_DPDK_PMD_VMXNET3 interfaces. The fix is to ensure the interface is in admin down before touching the hardware. Change-Id: Ia264d95355a860607bff7ada00d2be48f91e6dd9 Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke1-0/+1051
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>