Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I1ec328cda73f7eaf7867cd8a2a17852ee0cd23f1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
- Move Coverity scripts from build-root/scripts to extras/scripts
- Update coverity-build with new path and add some comments
Change-Id: I1be8069fb574aaacbac9b7f2c9c80b9aad1790ec
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I66357690f41e23dd1b924cc50a951a6c3696e071
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I805800503f5330c14d2e654c02bf43e21e7ce917
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
When I type in 'quit' on the slave instance, the master instance crashes
on this line.
0: /home/sluong/vpp-master/vpp/build-data/../src/vlib/unix/input.c:200 (linux_epoll_input) assertion `! pool_is_free (um->file_pool, _e)' fails
Aborted (core dumped)
Below is the decode from gdb
line_number=0, fmt=0x7f57af6cc9a0 "%s:%d (%s) assertion `%s' fails")
at /home/sluong/vpp-master/vpp/build-data/../src/vppinfra/error.c:143
vm=0x7f57af8e2400 <vlib_global_main>, node=0x7f576d40ad80, frame=0x0)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/unix/input.c:200
vm=0x7f57af8e2400 <vlib_global_main>, node=0x7f576d40ad80,
type=VLIB_NODE_TYPE_PRE_INPUT, dispatch_state=VLIB_NODE_STATE_POLLING,
frame=0x0, last_time_stamp=1525665215050617)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/main.c:1016
vm=0x7f57af8e2400 <vlib_global_main>, is_main=1)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/main.c:1500
I am able to reproduce the problem consistently with the below procedure.
1. Create 3 memif interfaces between slave and master instances.
2. Type 'quit' on the slave. Neither crashes the first time.
3. Bring back the slave. Type 'quit' on the master. Neither crashes.
4. Bring back the master. Type 'quit' on the slave. The master crashes.
There are two places the interrupt line is disconnected and the unix file is
removed via the call unix_file_del ()
1. memif_int_fd_read_ready ()
2. memif_disconnect () which is called via multiple places in memif.
When the crash happens, the unix file was removed from memif_disconnect ()
via memif_conn_fd_read_ready () with size of the message == 0 in recvmsg ().
It is noted when the unix file was removed from memif_int_fd_read_ready (),
it never crashes. It is a race condition. However, if I follow the
aformentioned procedure, the crash always happens.
The reason the crash happens when memif_disconnect () removes the unix file
is because there may still be pending input in linux_epoll_input (). When
linux_epoll_input () tries to access the unix file via the line 200
unix_file_t *f = pool_elt_at_index (um->file_pool, i);
it crashes.
We could add code in linux_epoll_input () to avoid the crash if the index
for the particular file_pool is already free. Or we could fix memif to not
remove the unix file in memif_conn_fd_read_ready () when recvmsg () got 0
byte and just postpone the unix file deletion in memif_int_fd_read_ready ()
later after linux_epoll_input () got a chance to run to empty the input
stream.
I choose to fix the problem in the latter approach. I split the function
memif_disconnect () into two parts. For the code path which
memif_conn_fd_read_ready () calls memif_disconnect (), it does not remove the
unix file. All other calls to memif_disconnect () will continue to do what
it uses to do to avoid regression.
Please let me know if I should fix the problem other way.
Change-Id: I8efe2a3d24c6581609bc7b6fe82c2b59c22d8e4b
Signed-off-by: Steven <sluong@cisco.com>
|
|
Change-Id: I7972273d0e9bd36e3fd6e12ab0268341ba572313
Signed-off-by: Burt Silverman <burtms@gmail.com>
|
|
Change-Id: I7de6b96631d1645d0eadd38525860d84d78e316d
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
don't add duplicate extensions.
Change-Id: Icf72d6e1b004d0dda532bec2b51f6b74544925bb
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Since all objects of the array have the same type, the object
constructor is a loop invariant. Move the lookup out of the loop,
making things faster.
Change-Id: I631c72b59c6c63eccd49ede41c6dc0541c325db9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Change-Id: I50a0cbc7d8ecc94ad494df4720bb4199673e9793
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
The JNI templates around array and object handling are wrong in the
sense that they fail to delete local references for objects which
have been assigned to fields/arrays. Fix this by invoking
DeleteLocalRef.
Change-Id: I1c31d81f4235d821ccd51c96be7b176f64284928
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Change-Id: I28e98f445c01493562b6196a4f5b532a51f178af
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I54cb5113ec8e37f5da321041d7925393cae31aa5
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Fix coverity error associated with fd.
Change-Id: I0648aebaf356308bc03cc7217922479bfc4e22f7
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
|
|
Change-Id: I4ac05ee5974f5e7ab3685d325446a6e77048a948
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
|
|
Change-Id: Ifb51b49d4dac1f07027b12398314a52b5cce343e
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: Ifa9582962710a3601fcccbbf388529043fc7f08a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
- inline the FIB lookup function; this requires access to the bihash, so for files that use more than one type this casues problems. those files that include ip6_fib.h unnecessarily have been updated
- better use of the feature arcs. ip6-lookup and interface-output are now sentinels (end-node-index in the cm speak) rather than enabled features.
Change-Id: I9d1375fee63f7dbb2d327da6124d8e60b63367ec
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: Ibc0e1910a4926fdfbf74571efb5fd5810bfa09da
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I262e455792fd95d286ee3ebc0049e2352ae5899f
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: I141a14e1098e562bdb3c3ac576754f4f19dbcb04
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: Iae04c57bba87ab3665388eadd0805f75171636a5
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I051d015e7eee621dbef273b2c57449ea4c44b768
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
|
|
flush tests will now enable learning on the bridge, and send broadcast packets
to add dynamic entries to the l2_fib. it will then disable learning, flush, and
will verify packets are not forwarded to flushed "hosts".
Change-Id: Ie6f123e59f6c89af511bdc5a02dd199420c424e9
Signed-off-by: Eyal Bari <ebari@cisco.com>
|
|
Change-Id: Id2ffcd048b93d8efc8f825744cf2aeef5c436d53
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
|
|
- Pass an email in to stdin and the script produces output similar
to:
Hi,
Please find the latest report on new defect(s) introduced to fd.io VPP
found with Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 2 of 2 defect(s)
** CID 167726: Resource leaks (RESOURCE_LEAK)
/src/vnet/devices/af_packet/device.c: 215 in
af_packet_interface_admin_up_down()
________________________________________________________________________________________________________
*** CID 167726: Resource leaks (RESOURCE_LEAK)
/src/vnet/devices/af_packet/device.c: 215 in
af_packet_interface_admin_up_down()
>>> CID 167726: Resource leaks (RESOURCE_LEAK)
>>> Handle variable "fd" going out of scope leaks the handle.
00a9dcad vnet/vnet/devices/af_packet/device.c (Damjan Marion 2016-08-17
209) af_packet_if_t *apif =
00a9dcad vnet/vnet/devices/af_packet/device.c (Damjan Marion 2016-08-17
210) pool_elt_at_index (apm->interfaces, hw->dev_instance);
83cc4e14 vnet/vnet/devices/af_packet/device.c (Alpesh Patel 2016-04-05
211) u32 hw_flags;
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
212) int rv, fd = socket (AF_UNIX, SOCK_DGRAM, 0);
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
213) struct ifreq ifr;
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
214)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
215) /* if interface is a bridge ignore */
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
216) if (apif->host_if_index < 0)
2038ad01 src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-05-18
217) goto error; /* no error */
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
218)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
219) /* use host_if_index in case host name has changed */
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
220) ifr.ifr_ifindex = apif->host_if_index;
** CID 167725: Error handling issues (NEGATIVE_RETURNS)
/src/vnet/devices/af_packet/device.c: 252 in
af_packet_interface_admin_up_down()
________________________________________________________________________________________________________
*** CID 167725: Error handling issues (NEGATIVE_RETURNS)
/src/vnet/devices/af_packet/device.c: 252 in
af_packet_interface_admin_up_down()
>>> CID 167725: Error handling issues (NEGATIVE_RETURNS)
>>> "fd" is passed to a parameter that cannot be negative.
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
246) }
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
247)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
248) if ((rv = ioctl (fd, SIOCSIFFLAGS, &ifr)) < 0)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
249) {
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
250) clib_unix_warning ("af_packet_%s error: %d",
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
251) apif->is_admin_up ? "up" : "down", rv);
2038ad01 src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-05-18
252) goto error;
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
253) }
83cc4e14 vnet/vnet/devices/af_packet/device.c (Alpesh Patel 2016-04-05
254)
00a9dcad vnet/vnet/devices/af_packet/device.c (Damjan Marion 2016-08-17
255) vnet_hw_interface_set_flags (vnm, hw_if_index, hw_flags);
83cc4e14 vnet/vnet/devices/af_packet/device.c (Alpesh Patel 2016-04-05
256)
2038ad01 src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-05-18
257) error:
Change-Id: I9756c16ea24e7520704155ae1f6c5f132087e3bc
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Hitting tab:
- in the middle of a uniquely defined subcommand will expand the subcommand
- in the middle of a non-uniquely defined (or empty) subcommand will display
all possible subcommands, and possibly expand to the lowest common prefix
Change-Id: Ib858eefdb0353cd2c3aad472799d15cd537455a0
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
|
|
Change-Id: Ic86617c9c3217122043656ce2ea70bb106df5b2d
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I101e32cee8d9de51227b39ec2639c9fb44da1e6c
Signed-off-by: Mohammed Hawari <mhawari@cisco.com>
|
|
there are, intentionally, no validation checks in the ARP/ND code to prevent an ARP/ND entry from being installed for an address that is not local to the interface's sub-net. This is ok, since the adjacency/FIB code is designed to handle this case using the 'refinement' criteria - i.e. only installing a FIB entry for the address if the address 'refines' (i.e. is more specific than) the interface's sub-net.
However, the refinement criteria currently operates on the FIB entry's prefix (which is a /32, so on the address) and not on the next-hop in the path.
So, enter multiple ARP entries for the same address on different links, and this refinement criteria uses only the last added path, and so will remove the FIB entry should the ARP entries be added in the 'wrong' order.
This fix updates the refinement criteria to work on each path of the FIB entry. The entry is installed if one of the paths refines the covers and only paths refining the cover contribute forwarding.
Per-path refinement checks are stored in path-extensions. The patch is rather large as path-extension, which were previously used only for out-going MPLS labels, have been generalized.
Change-Id: I00be359148cb948c32c52109e832a70537a7920a
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
and add adaptive mode support to receive queue
- Migrate vhost to use device infra which does the interface/queue to worker
thread assignment.
- Retire vhost thread CLI and corresponding code which assigns interface/queue
to worker thread. set interface placement should be used instead to customize
the interface/queue to worker thread assignment.
- Retire vhost interrupt/polling option when creating vhost-user interface.
Instead, set interface rx-mode should be used.
- Add code in vnet_device_input_unassign_thread to change the node state
to interrupt if the last polling interface has left the worker thread for the
device of the corresponding interface/queue.
- Add adaptive mode support. The node state is set to interrupt initially.
When the scheduler detects a burst of traffic, it switches the input node to
polling. Then we inform the device that we don't need interrupt notification.
When the traffic subsides, the scheduler switches the input node back to
interrupt. Then we immediately tell the driver that we want interrupt
notification again.
- Remove some duplicate code in vlib/main.c
Change-Id: Id19bb1b9e50e6521c6464f470f5825c26924d3a8
Signed-off-by: Steven <sluong@cisco.com>
|
|
Adds startup.conf knob:
dpdk {
log-level debug
}
Change-Id: I80dfbc00559528d7b0970958fba9f08d97aa7118
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: I394af7c1ac9fd0177ff5d298e4008245df54b436
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Due to issues with python on centos we cannot reliably
execute "make test". To be removed after problem is solved.
Change-Id: I92d2b647c72a8ba58cf8a9d4b443357e61ef403f
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
These tests attempt to flush static entries from a bridge-domain that has no aging configured. for both reasons it will fail.
The fact thtat they occationally pass is due to the fact that the assert_nothing_cpatured does not actually capture packets, so it misses the fact that there are some.
Change-Id: Ie5c98a42944e29a3d482156f7e9246511380372f
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I982e0dfb96c371672aa636aa7e40f06a84e2bb69
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
|
|
is_address_reachable - Disabled so deleted
cli_request - Renamed to cli
vnet_summary_stats_reply - Renamed to vnet_get_summary_stats_reply
bridge_domain_sw_if_details - Deleted, incorporated in main message
l2_fib_table_entry - Renamed to l2_fib_table_details
Change-Id: I93b7e8769a3ba7b4989b3c270270f575f386464f
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Also improves builtin client code.
Change-Id: I8bca1aa632028f95c373726efb0abf2ee0eff414
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
When processing a vring descriptor which is outside of mmap, we disable
the interface and spit a message to shut/no shut the interface. This is
not practical as application using vhost cannot constantly checking the
logs and do the recovery. The proposed fix is to log an error, like
other errors that we encounter.
The other bug is buffer leak in the function rewind. At the end of the
while loop when b_current != b_head, we still have to give back 1 more
buffer or add 1 to rx_buffers_len.
Change-Id: I68c0b24f070e644cd8878f42272a7b518f14393f
Signed-off-by: Steven <sluong@cisco.com>
|
|
Change-Id: I3935b3f312852e0f032c48726651561fb8616273
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
|
|
Port the linear-scan bucket fix from bihash_template.c.
Change-Id: Id8b2d1fe402401f098270ce6121c2f44f2f24c49
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Add lcov for rhel.
Correct fedora Development tools group and rpm-build.
Change-Id: I0a19e239e6bc4f34f3aacfbb7e08e2abbdc061ed
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
|
|
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>
|
|
Change-Id: I1b71010e20742eee02693d672e24c85897e37759
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Enforce bridge domain ID range to allow a maximum value of 16M
which matches the range of 24-bit VNI used for virtual overlay
network ID.
Fix "show bridge-domain" output to allow full 16M BD ID range
to be displayed using 8-digit spaces.
Change-Id: I80d9c76ea7c001bcccd3c19df1f3e55d2970f01c
Signed-off-by: John Lo <loj@cisco.com>
|
|
Change-Id: Icb9412ed09095443c20ae1fe2b71b646bbe580b0
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I071e8d78ed9312ebf8e572bf01ece447ce1a1835
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: Iabeda0d0615b0f6fe20dd00611cb4c594d90b7eb
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Prior to commit bfd9227e6da567e0e19e026afe94cd4c0b65f725, there was
no clean way to check the lower-level message length as supplied
by the client, so there was no option but to trust that the client
does the right thing and allocates memory correctly.
The absence of checks makes it hard for a misbehaving client
to spot the problem - because everything "appears" to work
correctly for the specific erroneous message exchange.
This commit ensures the message received is at least
as big as we expect, and complains loudly if it is not.
Change-Id: I806eaac7c7f1ab3c64cb2bfa6939ce27da9a2b44
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
|
|
Particularly in the DCLIB_VEC64=1 case, using vectors vs. raw
clib_mem_alloc'ed memory causes abysmal memory allocator performance.
Change-Id: I07a4dec0cd69ca357445385e2671cdf23c59b95d
Signed-off-by: Dave Barach <dave@barachs.net>
|