aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/interface_output.c
AgeCommit message (Collapse)AuthorFilesLines
2016-06-15Fix double-enqueued packet in interface-output dual-loop, fixes VPP-116Damjan Marion1-19/+40
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-27Increase the trace bufffer sizeChris Luke1-1/+1
In some cases, the packet header size with IPv6 and a tunnel can overflow the buffer used for packet tracing. This patch increases this buffer a little to avoid truncated header information in the trace. Change-Id: Ib800e3b908ebe7e80bae4428a94541a803b40b8c Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-22Add clib_memcpy macro based on DPDK rte_memcpy implementationDamjan Marion1-3/+3
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-14Change ARP and IP6-ND nodes to use interface-output node for outputJohn Lo1-5/+0
The current mechanism for setting up arp-input and ip6-discover-neighbor output nodes for interfaces using their interface link up/down callback function is inefficient and has potential timing issue, as observed for bonded interface. Now both nodes will setup output interface sw_if_index in the the sw_if_index[VLIB_TX] field of current packet buffer and then use the interface-ouput node to tx the packet. One side effect is that vlib_node_add_next_with_slot() needs to be modified to allow the same output node-id to be put at the specified slot, even if another slot contain that same node-id already exist. This requirement is caused by BVI support where all loopback interfaces set up as BVIs will have the same output node-id being l2-input while, for output-interface node, the output slot must match the hw_if_index of the interface. Change-Id: I18bd1d4fe9bea047018796f7b8a4d4c20ee31d6e Signed-off-by: John Lo <loj@cisco.com>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke1-0/+1311
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>