History log of /vpp/src/vnet/devices/af_packet/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
4a302ee7 13-May-2020 John Lo <loj@cisco.com>

ethernet: fix DMAC check and skip unnecessary ones (VPP-1868)

Fix and optimize DMAC check in ethernet-input node to utilize NIC or
driver which support L3 DMAC-filtering mode so that DMAC check can be
bypassed safely for interfaces/sub-interfaces in L3 mode.
Checking of interface in L3-DMAC-filtering state to avoid DMAC check
require the following:
a) Fix interface driver init sequence for devices which supports L3
DMAC-filtering to indicate its capability and initialize interface
to L3 DMAC-filtering state.
b) Fix ethernet_set_flags() function and its associated callback
flags_change() functions registered by various drivers in interface
infra to provide proper L3 DMAC filtering status.
Maintain interface/sub-interface L3 config count so DMAC checks can be
bypassed if L3 forwarding is not setup on any main/sub-interfaces.

Type: fix
Ticket: VPP-1868

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I204d90459c13e9e486cfcba4e64e3d479bc9f2ae

7c9fe920 10-Jan-2020 John DeNisco <jdenisco@cisco.com>

docs: Edit FEATURE.yaml files so they can be published

Type: docs
Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: I7280e5c5ad10a66c0787a5282291a2ef000bff5f

39d69112 27-Nov-2019 Dave Barach <dave@barachs.net>

api: multiple connections per process

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2272521d6e69edcd385ef684af6dd4eea5eaa953

6b0dd550 03-Nov-2019 Paul Vinciguerra <pvinci@vinciconsulting.com>

build: add yaml file linting to make checkstyle

Type: feature

fts and trex rely on yaml config files. Verify
that they are valid, so comitters can catch
errors early.

Change-Id: Ide0bb276659119c59bdbbc8b8155e37562a648b8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>

97c998c2 29-Oct-2019 Paul Vinciguerra <pvinci@vinciconsulting.com>

docs: devices-- add FEATURES.yaml

Type: docs

Change-Id: I039ba9ad5385452b202366fba0b367506a21ea4f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>

7ca5aaac 24-Sep-2019 Damjan Marion <damarion@cisco.com>

vlib: add flag to explicitelly mark nodes which can init per-node packet trace

Type: feature

Change-Id: I913f08383ee1c24d610c3d2aac07cef402570e2c
Signed-off-by: Damjan Marion <damarion@cisco.com>

3b2db900 26-Aug-2019 Jakub Grajciar <jgrajcia@cisco.com>

devices: af_packet API cleanup

Use consistent API types.

- fix af_packet_dump dumping deleted interface

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ie8d138e30c8c51a2306bb2ad9ac0b7a49d5412bf
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>

90b34ed6 29-Aug-2019 Michael Yu <michael.a.yu@nokia-sbell.com>

devices: fix issue of per_interface_next_index

Per interface, next hop graph node can be customized
with vnet_hw_interface_rx_redirect_to_node function,
but it doesn't work well for af-packet type interface.

In current implementation, with function
af_packet_set_interface_next_node invoked next hop graph
node index can be set to apif->per_interface_next_index,
but it's not set to next0 properly for packet processing
in af_packet_device_input_fn.

Type: fix

Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>
Change-Id: I8e132ddd1c3c01b6f476de78546d4a9389b3ff87
Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>

7fa4160c 07-May-2019 jackiechen1985 <xiaobo.chen@tieto.com>

Fix af_packet issues:

1. Fix af_packet memory leak;
2. Fix close socket twice;
3. Adjust debug log for syscall;
4. Adjust dhcp client output log;

Change-Id: I96bfaef16c4fad80c5da0d9ac602f911fee1670d
Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>

f324dec0 08-Apr-2019 Jim Thompson <jim@netgate.com>

fixing typos

Change-Id: I215e1e0208a073db80ec6f87695d734cf40fabe3
Signed-off-by: Jim Thompson <jim@netgate.com>

8feeaff5 27-Mar-2019 Paul Vinciguerra <pvinci@vinciconsulting.com>

Typos. A bunch of typos I've been collecting.

Change-Id: I53ab8d17914e6563110354e4052109ac02bf8f3b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>

aee73648 13-Mar-2019 Filip Tehlar <ftehlar@cisco.com>

deprecate VLIB_DEVICE_TX_FUNCTION_MULTIARCH

Change-Id: I8819bcb9e228e7a432f4a7b67b6107f984927cd4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

608996d2 04-Mar-2019 Filip Tehlar <ftehlar@cisco.com>

devices: migrate old MULTIARCH macros to VLIB_NODE_FN

Change-Id: I911fb3f1c6351b37580c5dbde6939a549431a92d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

8934a045 09-Feb-2019 Damjan Marion <damarion@cisco.com>

buffers: fix typo

Change-Id: I4e836244409c98739a13092ee252542a2c5fe259
Signed-off-by: Damjan Marion <damarion@cisco.com>

5de3fec5 06-Feb-2019 Damjan Marion <damarion@cisco.com>

buffers: make buffer data size configurable from startup config

Example:

buffers {
default data-size 1536
}

Change-Id: I5b4436850ca18025c9fdcfc7ed648c2c2732d660
Signed-off-by: Damjan Marion <damarion@cisco.com>

671e60e6 30-Dec-2018 Damjan Marion <damarion@cisco.com>

buffers: remove unused code

Change-Id: If2bbfbc52994f5de0879763e0b7a7864498debb6
Signed-off-by: Damjan Marion <damarion@cisco.com>

178cf493 13-Nov-2018 Dave Barach <dave@barachs.net>

Remove c-11 memcpy checks from perf-critical code

Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1
Signed-off-by: Dave Barach <dave@barachs.net>

a3d5986a 10-Nov-2018 Damjan Marion <dmarion@me.com>

vlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..)

Typically we have scalar_size == 0, so it doesn't matter
but vlib_frame_args was providing pointer to scalar frame
data, not vector data. To avoid future confusion function
is renamed to vlib_frame_scalar_args(...)

Change-Id: I48b75523b46d487feea24f3f3cb10c528dde516f
Signed-off-by: Damjan Marion <damarion@cisco.com>

b7b92993 17-Oct-2018 Dave Barach <dave@barachs.net>

c11 safe string handling support

Change-Id: Ied34720ca5a6e6e717eea4e86003e854031b6eab
Signed-off-by: Dave Barach <dave@barachs.net>

3b81a1e5 06-Sep-2018 Neale Ranns <nranns@cisco.com>

L2 BVI/FIB: Update L2 FIB table when BVI's MAC changes

also some moving of l2 headers to reduce dependencies

Change-Id: I7a700a411a91451ef13fd65f9c90de2432b793bb
Signed-off-by: Neale Ranns <nranns@cisco.com>

067cd622 10-Jul-2018 Damjan Marion <damarion@cisco.com>

avoid using thread local storage for thread index

It is cheaper to get thread index from vlib_main_t if available...

Change-Id: I4582e160d06d9d7fccdc54271912f0635da79b50
Signed-off-by: Damjan Marion <damarion@cisco.com>

04e0bb2f 28-May-2018 Mohsin Kazmi <sykazmi@cisco.com>

af_packet: Add support for dump interfaces

Change-Id: I8d8ecc80edb7665125ba625a3ce7b30d2dea88f0
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>

acba9f79 17-May-2018 Mohsin Kazmi <sykazmi@cisco.com>

af-packet: Add support for logging

Change-Id: I4cc6a20b69cce2aa52768a27c5d455eb098224c8
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>

a50a14c5 25-Apr-2018 Mohsin Kazmi <sykazmi@cisco.com>

itf: Fix admin up down for AF_PACKET and vhost-user

Change-Id: I84327197d59c72d0d046dd2cb4071bf74af6fc28
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>

43fc6884 22-Mar-2018 Mohsin Kazmi <sykazmi@cisco.com>

afpacket: Fix the reply if itf already exits

Change-Id: I47768ea50140222fec54e97cbaff2049bd3cb599
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>

afb19301 13-Mar-2018 Chaoyu Jin <chjin@cisco.com>

At AF_PACKET socket create, do intf bind before rx ring cfg to avoid receiving pkts from other interfaces

Change-Id: Ie40ee9129edaac717e716b469f4d10f3c29a4932
Signed-off-by: Chaoyu Jin <chjin@cisco.com>

a608b606 28-Feb-2018 Chaoyu Jin <chjin@cisco.com>

at af_packet input, drop partial packets to prevent l4 checksum deadloop at ouptut

Change-Id: I6f75b7328fd0aa71d00a701e36c8b4ad06bff3c4
Signed-off-by: Chaoyu Jin <chjin@cisco.com>

8cedff2f 07-Feb-2018 Pierre Pfister <ppfister@cisco.com>

af_packet: Fix lock position

In multi-worker cases, af-packet tx was subject to a pretty
serious race condition as the device lock was obtained
after some queue values were read from queue.

Result could go from packet loss to queue inconsistency, leading
to tx being stuck for 'some time'.

The fix is really simple. Finding the problem was not...

Change-Id: Ib18967b7459a8609428a56de934c577cea87b165
Signed-off-by: Pierre Pfister <ppfister@cisco.com>

ceab7882 19-Jan-2018 Damjan Marion <damarion@cisco.com>

vlib: epoll on worker threads

This patch teaches worer threads to sleep and to be waken up by
kernel if there is activity on file desctiptors assigned to that thread.

It also adds counters to epoll file descriptors and new
debug cli 'show unix file'.

Change-Id: Iaf67869f4aa88ff5b0a08982e1c08474013107c4
Signed-off-by: Damjan Marion <damarion@cisco.com>

9d420871 12-Oct-2017 Ole Troan <ot@cisco.com>

VPPAPIGEN: vppapigen replacement in Python PLY.

This is a version of the VPP API generator in Python PLY. It supports
the existing language, and has a plugin architecture for generators.
Currently C and JSON are supported.

Changes:
- vl_api_version to option version = "major.minor.patch"
- enum support
- Added error checking and reporting
- import support (removed the C pre-processor)
- services (tying request/reply together)

Version:
option version = "1.0.0";

Enum:
enum colours {
RED,
BLUE = 50,
};
define foo {
vl_api_colours_t colours;
};

Services:
service {
rpc foo returns foo_reply;
rpc foo_dump returns stream foo_details;
rpc want_stats returns want_stats_reply
events ip4_counters, ip6_counters;
};

Future planned features:
- unions
- bool, text
- array support (including length)
- proto3 output plugin
- Refactor C/C++ generator as a plugin
- Refactor Java generator as a plugin

Change-Id: Ifa289966c790e1b1a8e2938a91e69331e3a58bdf
Signed-off-by: Ole Troan <ot@cisco.com>

d3638337 05-Jan-2018 zhaoqingling <zhao.qingling@zte.com.cn>

VPP-1115 Fix a debug log mistake when create AF_PACKET socket

Change-Id: Id6607adbe5da8ae8472dde8bb442ca5f68f6d84f
Signed-off-by: zhaoqingling <zhao.qingling@zte.com.cn>

837503cf 28-Nov-2017 Florin Coras <fcoras@cisco.com>

af_packet: update tx_frame even when ring exhausted

Change-Id: I2fde74b53d6b4dc54d4af7020130f7b22463d70f
Signed-off-by: Florin Coras <fcoras@cisco.com>

5665a22f 15-Nov-2017 Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

Revert "vnet: af_packet mark l3 offload cksum"

This reverts commit fa600c9169c0d7104af7a9be12a0471a8a8c8262.

Change-Id: I873b53b2c025d7aba2211cab9b3e2d780af33b32
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

64ae7789 14-Nov-2017 Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

vnet: af_packet_set_l4_cksum_offload device class check

Change-Id: Ie07b71977c46d2f1e030799a08cc5af0fdc397aa
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

fa600c91 14-Nov-2017 Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

vnet: af_packet mark l3 offload cksum

Change-Id: I42ee5898e1f775692811eebab11bcfe458f1ec63
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

71612d61 24-Oct-2017 Dave Wallace <dwallacelf@gmail.com>

Add extern to *_main global variable declarations in header files.

- Global variables declared in header files without
the use of the 'extern' keword will result in multiple
instances of the variable to be created by the compiler
-- one for each different source file in which the
the header file is included. This results in wasted
memory allocated in the BSS segments as well as
potentially introducing bugs in the application.

Change-Id: I6ef1790b60a0bd9dd3994f8510723decf258b0cc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

92b0275a 20-Oct-2017 Jakub Grajciar <Jakub.Grajciar@pantheon.tech>

af_packet: invalid TCP/UDP offload checksum on RX node recalculation

Change-Id: I1075e5d2a1b6dfe3a443b40b41b8458a30505680
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
Signed-off-by: Jakub.Grajciar@pantheon.tech <Jakub.Grajciar@pantheon.tech>

c5170209 11-Oct-2017 Damjan Marion <damarion@cisco.com>

Revert "VPP-1001 - update AF Packet Driver to for modern kernels"

Issues observed with specific kernel versions, e.g. stock Ubuntu 16.04
kernel.

This reverts commit 3eab064e3fadaf2a6a128f167ad04ca0319b4e17.

Change-Id: I24241f3b580df749fc686af3a319011ca035fb5e
Signed-off-by: Damjan Marion <damarion@cisco.com>

0d056e5e 28-Sep-2017 Dave Barach <dave@barachs.net>

vppapigen: support per-file (major,minor,patch) version stamps

Add one of these statements to foo.api:

vl_api_version 1.2.3

to generate a version tuple stanza in foo.api.h:

/****** Version tuple *****/

vl_api_version_tuple(foo, 1, 2, 3)

Change-Id: Ic514439e4677999daa8463a94f948f76b132ff15
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Ole Troan <ot@cisco.com>

d3c008d1 02-Oct-2017 Christophe Fontaine <christophe.fontaine@enea.com>

[aarch64] Fixes CLI crashes on dpaa2 platform.

- always use 'va_args' as pointer in all format_* functions
- u32 for all 'indent' params as it's declaration was inconsistent

Change-Id: Ic5799309a6b104c9b50fec309cba789c8da99e79
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>

3eab064e 03-Oct-2017 Anton Ivanov <anton.ivanov@cambridgegreys.com>

VPP-1001 - update AF Packet Driver to for modern kernels

1. Add VNET headers support for checksumming - required
to operate correctly on any recent Linux

2. Bypass QDISC on transmit - improves performance by ~ 5%.
Enabled only if the macro is detected - apparently not
present on archaic distributions.

This still does not solve all issues with TSO - it can be
fixed only by going to tpacket v3 and dynamic rx ring as
well as significant changes in the TX (sendmmsg?).

Change-Id: Iea14ade12586c0a8da49e6dd1012108a08bc85b3
Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>

535f0bfe 15-Sep-2017 Akshaya N <akshaya@rtbrick.com>

VLAN support on host(af-packet) interface.

On host interface if a VLAN tagged packet is received, linux kernel removes
the VLAN header from packet byte stream and adds metadata in tpacket2_hdr.
This patch explicitely checks for the presense of VLAN metadata and adds it
in VPP packet.

Change-Id: I0ba35c1e98dbc008ce18d032f22f2717d610c1aa
Signed-off-by: Akshaya N <akshaya@rtbrick.com>

01914ce4 14-Sep-2017 Damjan Marion <damarion@cisco.com>

vppinfra: add clib_mem_vm_ext_alloc function

Change-Id: Iff33694fc42cc3bcc73cf1372339053a6365039c
Signed-off-by: Damjan Marion <damarion@cisco.com>

56dd5438 08-Sep-2017 Damjan Marion <damarion@cisco.com>

move unix_file_* code to vppinfra

This will allow us to use this code in client libraries without vlib.

Change-Id: I8557b752496841ba588aa36b6082cbe2cd1867fe
Signed-off-by: Damjan Marion <damarion@cisco.com>

3b64d633 07-Sep-2017 Damjan Marion <damarion@cisco.com>

vlib: move linux-specific code to vlib/linux

Change-Id: Id79d2c2be7a98e15416a537c890a8f2dd6d4464d
Signed-off-by: Damjan Marion <damarion@cisco.com>

e6cc9cc7 20-May-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: fix coverity error

Fix coverity error associated with fd.

Change-Id: I0648aebaf356308bc03cc7217922479bfc4e22f7
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

2038ad01 18-May-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: set mac address support

Added support to the interfaces mac address.
Resolved an fd leak when the interface is a bridge.

Change-Id: I6608c51b11a50bd0ae4aabe0dc5788c4301b5a1e
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

7bfa119e 15-May-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: support changing the mtu size

Added support to the af_packet device to change the MTU size.

Change-Id: I9c9e1e17323721f3efccf70a10b753e12eef94d5
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

4403690c 27-Apr-2017 Damjan Marion <damarion@cisco.com>

Add interface rx mode commands, unify rx mode and placement CLI

Change-Id: Ib506c3e9d66170f29e3266ad6dc4d32b829befba
Signed-off-by: Damjan Marion <damarion@cisco.com>

c855b73f 20-Apr-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: reflect admin device state on host

Setting the interface state in VPP on an af_packet device, was not being
reflected on the host. This implied the user had to set the device state
in VPP and then on the host, in order to put the interface into an 'up'
state. This changes makes the device state consisent in VPP and the host.

Change-Id: I6dc6aee79503e04576683db937b861337a2b375b
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

11b8dbf7 24-Apr-2017 Dave Barach <dave@barachs.net>

"autoreply" flag: autogenerate standard xxx_reply_t messages

Change-Id: I72298aaae7d172082ece3a8edea4217c11b28d79
Signed-off-by: Dave Barach <dave@barachs.net>

153646e8 05-Apr-2017 Damjan Marion <damarion@cisco.com>

Common device-input interrupt infra

Change-Id: I23b588eb56a3f5690158449a1f9bc8053cd3d251
Signed-off-by: Damjan Marion <damarion@cisco.com>

586afd76 05-Apr-2017 Damjan Marion <damarion@cisco.com>

Use thread local storage for thread index

This patch deprecates stack-based thread identification,
Also removes requirement that thread stacks are adjacent.

Finally, possibly annoying for some folks, it renames
all occurences of cpu_index and cpu_number with thread
index. Using word "cpu" is misleading here as thread can
be migrated ti different CPU, and also it is not related
to linux cpu index.

Change-Id: I68cdaf661e701d2336fc953dcb9978d10a70f7c1
Signed-off-by: Damjan Marion <damarion@cisco.com>

1927da29 27-Mar-2017 Damjan Marion <damarion@cisco.com>

vppinfra: add spinlock inline functions

Change-Id: I86089e9bb604adfc260a111685001be1c897ce53
Signed-off-by: Damjan Marion <damarion@cisco.com>

22db11b4 27-Mar-2017 Jim Gibson <gibson+fdio@cisco.com>

af_packet driver needs to check VLIB_BUFFER_NEXT_PRESENT flag is set
when walking vlib_buffer_t next_buffer chain on transmit.
On buffer allocation:
- next_buffer is not and may contain a stale invalid value that
should be ignored if not overwritten by a valid value.
- VLIB_BUFFER_NEXT_PRESENT flag is cleared and only set
if a valid value is written to next_buffer.

Change-Id: I9b0ccdc54f4f7456f8328ce7c4a0d52d0fba8caa
Signed-off-by: Jim Gibson <gibson+fdio@cisco.com>

13ad1f02 26-Mar-2017 Dave Barach <dave@barachs.net>

Rename "show interfaces" -> "show interface"

To line up with "show interface placement," recently added. Otherwise,
"show int" refers only to "show interface placement," which tends to
annoy the cash customers...

Change-Id: Iea9e3681aeb051e2b0e1ecbf06706d98af9a3abf
Signed-off-by: Dave Barach <dave@barachs.net>

eb743fad 20-Mar-2017 Damjan Marion <damarion@cisco.com>

vnet: add device-input threadplacement infra

This change adds two new debug CLI command:

- "show interface placmenet" to display which
thread (main or worker) is responsible for processing
interface rx queue

vpp# show interface placement
Thread 0 (vpp_main):
node af-packet-input:
host-vpp1 queue 0
Thread 1 (vpp_wk_0):
node af-packet-input:
host-virbr0 queue 0
Thread 2 (vpp_wk_1):
node af-packet-input:
host-vpp2 queue 0
host-lxcbr0 queue 0

- "set interface placmenet" to assign thread (main or worker)
which process specific interface rx queue

vpp# set interface placement host-vpp1 queue 0 main

Change-Id: Id4dd00cf2b05e10fae2125ac7cb4411b446c5e9c
Signed-off-by: Damjan Marion <damarion@cisco.com>

35af9e50 05-Mar-2017 Damjan Marion <damarion@cisco.com>

features: take device-input buffer advance value directly

Change-Id: Ifac7d9134d03d79164ce6f06ae9413279bbaadb3
Signed-off-by: Damjan Marion <damarion@cisco.com>

b3bb1010 28-Feb-2017 Damjan Marion <damarion@cisco.com>

devices: vnet_get_aggregate_rx_packets should not be dpdk specific

Change-Id: I1152db4b7d1602653d7d8b2c6cb28cf5c526c4ca
Signed-off-by: Damjan Marion <damarion@cisco.com>

a9a20e7f 15-Feb-2017 Billy McFall <bmcfall@redhat.com>

VPP-635: CLI Memory leak with invalid parameter

In the CLI parsing, below is a common pattern:
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
return 0;

while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
if (unformat (line_input, "x"))
x = 1;
:
else
return clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
}
unformat_free (line_input);

The 'else' returns if an unknown string is encountered. There a memory
leak because the 'unformat_free(line_input)' is not called. There is a
large number of instances of this pattern.

Replaced the previous pattern with:
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
return 0;

while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
if (unformat (line_input, "x"))
x = 1;
:
else
{
error = clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
goto done:
}
}

/* ...Remaining code... */

done:
unformat_free (line_input);
return error;
}

In multiple files, 'unformat_free (line_input);' was never called, so
there was a memory leak whether an invalid string was entered or not.

Also, there were multiple instance where:
error = clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
used 'input' as the last parameter instead of 'line_input'. The result
is that output did not contain the substring in error, instead just an
empty string. Fixed all of those as well.

There are a lot of file, and very mind numbing work, so tried to keep
it to a pattern to avoid mistakes.

Change-Id: I8902f0c32a47dd7fb3bb3471a89818571702f1d2
Signed-off-by: Billy McFall <bmcfall@redhat.com>
Signed-off-by: Dave Barach <dave@barachs.net>

cf751ec7 18-Jan-2017 Mohsin KAZMI <sykazmi@cisco.com>

af_packet: multithreading support

This patch adds multithreading support for af_packet interfaces.

Change-Id: Ief5d1117e7ffeaa59dbc2831e583d5d8e8d4fa7a
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>

2d0b6e38 11-Jan-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: Document changes for vnet/vnet/devices

Add doxygen documentation for netmap CLI commands.

Change-Id: I8d3ce12b1cfa5af30ddcd31cb476ca4652cfc2f3
Signed-off-by: Billy McFall <bmcfall@redhat.com>

a1b99dad 06-Jan-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: doxygen documentation for host interface CLI commands

Change-Id: I2c6c16688be35e2e122c2377ded467c68a4c5a97
Signed-off-by: Billy McFall <bmcfall@redhat.com>

7cd468a3 19-Dec-2016 Damjan Marion <damarion@cisco.com>

Reorganize source tree to use single autotools instance

Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23
Signed-off-by: Damjan Marion <damarion@cisco.com>