By definition, passive mode means the node does not start sending lacp pdu until
it first hears from the partner or remote.
- Rename ptx machine's BEGIN state to NO_PERIODIC state.
- Put periodic machine in NO_PERIDOIC state when the interface is enabled for
lacp. ptx machine will transition out of NO_PERIODIC state when the local node
hears from the remote or when the local node is configured for active mode.
- Also add send and receive statistics for debugging.
Change-Id: I747953b9595ed31328b2f4f3e7a8d15d01e04d7f
Signed-off-by: Steven Luong <sluong@cisco.com>
clib_file_index is 0 if it is not initialized result in
following assertion on deleteing the pci device.
vpp/src/vppinfra/file.h:122 (clib_file_del_by_index) assertion `! pool_is_free (um->file_pool, _e)' fails
This patch fixes the issue by initializing the clib_file_index to -1.
Change-Id: I51d23f18e7ccf3143a4765d05aafc1363a007737
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Tx stats are no longer counted twice.
Submit tx packets as a single batch per vector instead of per-packet
Change-Id: I26820b21f23842b3a67ace0b939095f3550d3856
Signed-off-by: Benoît Ganne <bganne@cisco.com>
packets should not egress on an iVXLAN tunnel if they
arrived on one.
Change-Id: I9adca30252364b4878f99e254aebc73b70a5d4d6
Signed-off-by: Neale Ranns <nranns@cisco.com>
Download a single tarball with the sources of quicly and its dependencies from github instead of cloning submodules.
Change-Id: Id9955565d46f595b3a14ba3408c24045d4acd296
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
don't walk the entire list of entries each time a new one is added
approximate/indicative numbers recorded on a VM:
after:
50000 tunnels in 1.124443 secs, 44466.45 tunnels/sec
before:
50000 tunnels in 5.202779 secs, 9610.25 tunnels/sec
Change-Id: Ie1155416be76f55f2a0a88360ce53e15aeace785
Signed-off-by: Neale Ranns <nranns@cisco.com>
- Avoid doing cc in closing states.
- Rest connections closed with unread data
Change-Id: I97d46b0459f03ea5439eeb0f233b6c17d3e06dfd
Signed-off-by: Florin Coras <fcoras@cisco.com>
When building with environment variables set to enable mlx PMD
support in DPDK, an error occurs:
CMake Error at plugins/dpdk/CMakeLists.txt:104 (vpp_plugin_find_library):
vpp_plugin_find_library Macro invoked with incorrect arguments for macro
named: vpp_plugin_find_library
Update a call to vpp_plugin_find_library() to include the right
number of parameters.
Change-Id: Ia0d66f93c6f94fdf822e2c3c4fe3f0ad01a90d57
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
If we are testing for an index whose membership bitmask happens to sit in LSB of uword,
and there is nothing else set in that uword in the member bitmask, the shortcut path
returning the valid index is taken even if the element with a given index doesn't
exist in the sparse vector. This happens because the count of leading zeroes on the
value of 0 is zero, which is equal to the value taken modulo bitsize uword.
Take care of that case.
Also add unittests showing the problem and verifying that sparse_vec_index2 does not
have the same issue.
Change-Id: I19117e13817c3e5de579b9250bb741de42491985
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Device speed capability should be specified based on different phy types
instead of a fixed value, this patch fix the issue.
Change-Id: Ia76231aefbcb0fe8370867b6e86a0d3bb9e169a0
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Add function vlib_buffer_clone_at_offset() so that the cloned
packets' 1st buffer will have the original packet header copied
at the specified offset (instead of current_data). This can be
used to increase headroom in the cloned packet to allow large
header encaps in case the stdandard 128B predata is not enough.
The original vlib_buffer_clone() still works the same as before.
Change-Id: I3b50c8ad7e3952568bc141710567c99a3dacddce
Signed-off-by: John Lo <loj@cisco.com>
Previously, all frames were put for next node on the main thread,
even if the execution was happening on a worker thread.
Also, refactor to use API function vnet_get_main()
Change-Id: Ibefb1b3871563a78aa30352a37b9216537e15bf7
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
Drop the session reader lock across vlib_process_suspend(...) calls.
Fix the debug CLI command.
Change-Id: Ic0266dda1fdfa90971f2cb935248941317c01205
Signed-off-by: Dave Barach <dave@barachs.net>
We dont't want git pull there, there is simple way to grab tarball
from github for every single commit
Change-Id: I7a98cab7660750e48084279d8b9892cdf229bceb
Signed-off-by: Damjan Marion <damarion@cisco.com>
test/vpp_l2.py:213:26: F821 undefined name 'L2_VTR_OP'
self.itf.set_vtr(L2_VTR_OP.L2_DISABLED)
Move L2_VTR_OP enum to vpp_sub_interface.py where the VTR code is found.
Change-Id: I9eb9a3a2c679813c221ce1d0c4fa8aac6076c443
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Move __str__ to super for all subclasses of VppObject
Implement __repr__ in VppObject
Implement __hash__ and __eq__
Change-Id: Ibd4ea37b84b17f499ab86630fb5b9ed9c8b4b1c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Currently supports on single stream exposed through standard internal APIs
Based on libquicly & picotls by h2o
Change-Id: I7bc1ec0e399d1fb02bfd1da91aa7410076d08d14
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
When configuring a DHCP client, both the UDP ports for DHCP client
and server are registered. Packets to the server port end up being
dropped unless you have also configured a DHCP proxy.
This breaks a common home/office gateway use case where the WAN
interface gets configured using a DHCP client and devices attached
to a LAN interface attempt to configure themselves using DHCP. If
you try to punt to an external DHCP daemon to handle the LAN client
requests, the packets never make it to the external daemon because
of the server port being registered.
Modify dhcp_maybe_register_udp_ports() to accept a parameter that
controls which ports get registered. For a DHCP client, only the
client port is registered. For a DHCP proxy, both client and server
ports are registered.
Change-Id: I2182d9827e4c7424b03ebb94952c3d2dc37abdb6
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
A punt/exception path that provides:
1) clients that use the infra
2) clients can create punt reasons
3) clients can register to recieve packets that are punted
for a given reason to be sent to the desired node.
4) nodes which punt packets fill in the {reason,protocol} of the
buffere (in the meta-data) and send to the new node "punt-dispatch"
5) punt-dispatch sends packets to the registered nodes or drops
Change-Id: Ia4f144337f1387cbe585b4f375d0842aefffcde5
Signed-off-by: Neale Ranns <nranns@cisco.com>