Age | Commit message (Collapse) | Author | Files | Lines |
|
Also add an index of node names
Change-Id: Id65c2e607976d8bad73deb738035a471be077196
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Change-Id: Ie5e6751fd791e7ca728522632332abe442a1a75b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Change-Id: Iaf9735258f456574534c1a581b983326badea171
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
This patch introduces following changes:
- 4 predefined pg/stream[0-3] interfaces are removed
- Interface naming is changed form pg/streamX to pgX where X can be
any u32 value
- one pgX interface can handle multiple streams
- keyword "source pgX" is added to "packet-generator add" command, X is 0
by default
- new cli "packet-generator capture" is introduced
- new cli "create packet-generator interface pgX"
Change-Id: I768d075b9d4a34f0b5073debdc5dd4a0880c682c
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Previously, netmap node switched from interrupt to polling if
worker threads are enabled even if there was no netmap interface
running. Netmap input node consumed CPU cycles because of input
node calls but these cycles were wasted as input node did not have
any packet to process.
This patch fixes issue stated above using more intelligent way of enabling
or disabling polling based on interfaces count. But the pre-requisite
condition for polling is, worker thread(s) should be enabled.
Change-Id: I3a901823c7b040cce3393958981f439b9f290fe5
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
|
|
Change-Id: I913c9807519aa10e515d12fcfbcbfc22b58f5839
Signed-off-by: Calvin <calvin.ference@gmail.com>
|
|
IPv4 static ARP entries should remain when interface is set admin-down
and be reapplied on interface admin-up.
Change-Id: Ic0051865154230c2561d6e6421b05d842f147ca7
Signed-off-by: John Lo <loj@cisco.com>
|
|
Change-Id: I6d224fe19f1e0dd7ad5659e0734bc96ba37337ff
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Change-Id: Idc71a48f2eab3b712f6953af8baf1a6ecd54dcaf
Signed-off-by: Calvin <calvin.ference@gmail.com>
|
|
Change-Id: I3fe83a511064d73087c4526ef33cd7628f15b90f
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
- avoid code duplication by using only one function for
insertion/updating of remote mappings into map-cache. Static remote
mappings are now inserted using this function as well and therefore
the code does not try to build forwarding entries out of them now.
- bring up lisp dp interfaces when a vni is bound to a vrf.
- ensure eids are cleaned-up before parsing control plane messages
- ensure map-requests are always sent to default fib
- new API to insert lisp adjacencies as opposed to remote mappings which
should be replaced post merged in CSIT
- reorganize and group functions according to their purpose and use. No
need to pre-declare internal functions now.
- this does not touch locator-set logic
Change-Id: Ibcfc0f2d9c1bc1c9eab6e83c1af1b4cf9302ac10
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I735292bb2176742acab2295f90956c57e6f7ec1c
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
The output of the CLI command "show ip6 interface" shows only the first
link-local address and any globally-scoped addresses. It ignores all
other valid address scopes.
This patch reworks that routine to cover the three main address scopes
("link-local", "global" and "local") and anything else it finds is
grouped under "other").
Rationale for this final grouping is that these other addresses fall under
ranges currently either "reserved" or "multicast" in scope. Whilst it's
good to show if these are present, they are not normally found as link
addresses.
DBGvpp# sh ip6 int tap-0
tap-0 is admin down
Link-local address(es):
fe80::e857:7fff:fe77:c1a9/64
Local unicast address(es):
fd50:7389:246b:4321::2/64
Joined group address(es):
ff02::1
ff02::2
ff02::16
ff02::1:ff77:c1a9
ff02::1:ff00:2
...
Change-Id: I1d750b3b39c54aa4eb75632d53089640601bcba5
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
vlib_buffer_free_inline actually checks (b->flags & VLIB_BUFFER_RECYCLE)
in order to decide whether to free the packet or not.
Although the flag was correctly set in replication_prep, it is not removed
by replication_recycle during last iteration.
This patch just removes VLIB_BUFFER_RECYCLE when is_last is set.
Change-Id: I2445ebce908d94d95535e706b40407b4f15906e4
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: I678d7e0a7c91c7daf9feb3ec23a633b96fab56a7
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
The spelling mistake where "suppress" is written as "surpress" was
sufficiently common and annoyed me enough to fix it.
For backwards compatibility, the CLI and API test tool both still accept
the erroneous spelling.
Change-Id: I82104ae9d8c2c9d6e3396ba0d72cb1dc133081d1
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Change-Id: I9f1522f55bdd11602784a421fd850b839a1070e6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
This will cause FIB counters to appear to be reset.
This is an implementation of a patch from Dave Barach.
Change-Id: I19b9953d42dfb92ec22af6a855e2e519ae7c3bdc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: I28616f1a89f2da95484438ec1a1db64845f15ef6
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change tunnel interface creation to be done from the main thread instead
of a worker thread by calling vl_api_rpc_call_main_thread.
Make per-thread copies of volatile elements in ikev2_main.
Change-Id: I4cda8aaa392a04c2aea2d50a52a07933cf40c016
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
|
|
This patch fixes a few minor things:
- Previously ip[46]_input was rejecting packets with an input TTL (hop
limit) of one; this was not correct behavior. Packets that are bound
for this device can validly have a TTL of one.
- ip[46]_forward was not generating an ICMP TTL expired message if the
act of decrementing the TTL caused it to become zero. This was not
previously an issue because ip[46]_input was filtering packets where
this could happen.
- udp_local was not generating ICMP Port Unreachable messages if
UDP packets arrived for a port that is not listened to. This is
typically the signal that "traceroute" uses to terminate its
search.
Together these fixes mean that traceroute probes transiting a VPP
node, or are targetted toward a VPP node, now work as expected.
Change-Id: I84bb940883f7a18435f29f4518fb0445b989a3e3
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Change-Id: Iab9f6793112f19a5b54a555623d84099aa8bb03e
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Size of interface descriptor rings have direct impact
on Last Level Cache utilization, and can significantly affect performance.
So generally having smaller ring size is good idea as long as
there is enough buffer in the ring to accomodate line rate.
Here we are reducing rings sizes to 1024 which is still bigger
than lab verified 512 buffers per ring.
Indirectly, this also affects memory footprint, as we can have
smaller buffer allocation, which is now 16384 (previously it was 32768)
This patch also fixes issue with i40e vector PMD which was leaking
buffers when previous default ring sizes were set.
Change-Id: I58fb40586304b2f0cb5de9a444055da3cd3acb53
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Added new API calls to read
- classify table ids as array
- classify table ids for specified interface
- classsify table info
and to dump sessions of specified classify table.
Change-Id: I089604fa98eea92866495089d76c2330ae7d850c
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
|
|
Change-Id: I80f05a222cb0f728ad2460efe33955e781b6849f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Remove private / name-colliding "give me the first ip address on an
interface" routine from proxy_node.c
Return a proper error from ip4_lookup_init / ip6_lookup_init.
Change-Id: Idd3c574424ba2ea77c263af16b02cd4ad0cb4605
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
[VPP-155]: There is inconsistency in the netmap interface
state for software interface state and hardware interface
state. This patch resolves that issue.
Change-Id: I92199e117f919bd985670366a6d3b7753e40659c
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
|
|
Burst size for DPDK is 32, which is different from VLIB_FRAME_SIZE.
A loop is needed to dequeue all packets.
Change-Id: Ie611c58c4e3434251a47fe6ad1f38abcb85180cb
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
|
|
Change-Id: Icbb6814306f51873af6ad9d1425b52d660bb99ce
Signed-off-by: Georgii Tkachuk <georgii.tkachuk@intel.com>
|
|
This patch adds multithreading support for netmap interfaces.
Change-Id: Iba94386fe309a4aac71646fe567f8dabbebd0459
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
|
|
Use appropriate libnames to copy
Change-Id: Iaa1e7e3ceed52f328e26e75ee7309fc6464d5c66
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
|
|
Example output:
DBGvpp# sh lisp eid
EID type locators
[100] 6.0.2.0/24 local(ls1) host-intervpp1
[200] 6.0.2.0/24 local(ls2) host-intervpp1
[100] 6.0.4.0/24 remote 6.0.3.2
[200] 6.0.99.0/24 local(ls3) local0
host-intervpp1
[0] 6.0.0.0/16 remote
Change-Id: I69200bf7636167bce931def88828503a75496f4b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
L2TP tunnels use virtual interfaces but directly send
packets to l2-input node (not ethernet-input).
This node requires a bridge-domain to be associated with
the interface.
Past code was immediatly turning the interface up, but
some packets could be sent to l2-input without bridge domain
between interface creation and association with a bridge domain.
The tunnel is now created as down and has to be set up later
(typically after being associated with a bridge-domain).
Another option would have been to change the api and enforce
a bridge-domain to be specified before the tunnel, but this
is less flexible for the user.
Change-Id: I26d1f36bb4f327d9fa1c8044023f2210c4117904
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
"show ip features" displays all available features, in execution
order.
"show ip interface features <intfc>" displays all features currently
configures on an interface, in execution order.
Change-Id: I489bbdb85799a01721ba60b12ffaffcab1e0d1df
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
The patch switches to using LISP interface counters for storing the
number of decapsulated packets instead of using per decap node stats. It
also removes the encap node (iface tx node) stats since the iface output
node already keeps track of the number of encapsulated packets.
Change-Id: I636702a824264c173792f2f0c7fec0b0f4c6a9f7
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
"show mpls fib" -> "mpls_fib_encap_dump" and "mpls_fib_decap_dump"
"show mpls tunnel" -> "mpls_eth_tunnel_dump [tunnel-index <tunnel-id>]" and
"mpls_gre_tunnel_dump [tunnel-index <tunnel-id>]"
Change-Id: I59699039392f06dc61f62a015d07186a91cfaf45
Signed-off-by: marek zavodsky <mazavods@gmail.com>
|
|
Change-Id: I892c001cfdff9d8d93e646641d96520beb3c6265
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
o) Avoid using explicit_fib_index in the dst (main) FIBs. It's used in
the IP6 lookup
o) use if_address_index instead of rewrite_header.node_index to store
tunnel indexes. This ensures the tunnel index is used in the signature
computation and thus avoids all complications/hacks needed to make src
adjacencies unique.
o) Fixed negative fwd entry route insertion
Change-Id: Ie56356f165b96dfa929da5672a3a429996366460
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Currently, when the interface has no address assigned to it,
VPP crashes as ip_interface_address_for_packet assumes there
always is at least one address.
This patch checks if an address is available at all.
The only part of VPP using it is ARP or NDP.
When a neighbor discovery message has to be sent while
there is no address assigned on the interace, no
solicitation is sent and an error counter is incremented.
Change-Id: Ia9fdaf8e84050a1ceeb47f5370819d3df95714f0
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: I79e3915fa61b497e6b586babcdf093937af07b2b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Change-Id: I60ea36362a2c4b7c936dde501a3d737b68a8c9ff
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
|
|
Change-Id: Ie5d270a01e3ca0687a407aeebc42aacc53a01ddc
Signed-off-by: Shwetha <shwethab@cisco.com>
|
|
Lisp enable flag is enforced. DP API should not be call if the dp is disable.
Change-Id: I265cf3ea0460987f3fd5fd84b43127dd3b1c43c3
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
|
|
When receiving a local ipv6 packet containing an l2tp packet not associated
with any session, l2tp node was handling the packet as if provided by an ipv6 feature,
hence crashing.
This patch fixes the issue by correctly dropping the packet instead.
This patch also fixes a typo from commit d65346098daf896.
Change-Id: I1b377fc5685568c16831920227671feffac64287
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
In the double loop of ip4-rewrite, when forwarding packets,
the outbound interface MTU check occurs too late in the
double-loop to be actioned.
Change-Id: Ifc44e65d6ddb832aa0161d0685b1a28378541905
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Adjacencies in LISP src/dst FIB store the index of the LISP output
interface (next node after lookup) in the lookup_next_index. Since the
values of interface node indexes are not constrained, they can collide
with the 'special' adjacencies IP_LOOKUP_NEXT_LOCAL and
IP_LOOKUP_NEXT_DROP. As a result, at allocation time, LISP ajacencies
may be automatically shared with the previous two, predefined
adjacencies and all LISP specific state stored in the rewrite area is
lost.
This fixes the problem by 'hijacking' the explicit_fib_index instead
of the lookup_next_index field.
Change-Id: I3c59121dcf0851decf5c08004143d1201dbd1ece
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Ia98ed873954feaa7bf1f13d8eb4054d0afba495e
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
ip_call_add_del_adjacency_callbacks requires an adjacency index, not a
sw_if_index.
Change-Id: I4ae6a6bbbe0abee4791217463d353c56f9735ba3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: I5e6edfd03ab41949be2c768dfe68aa824bbc1f38
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
This change-set enables plugins to add themselves to the ip4/ip6
feature subgraphs without having to modify core vpp engine code
at all. Add VNET_IP4/IP6_UNICAST/MULTICAST_FEATURE_INIT macros
which express the required ordering constraints, and off you go.
Along the way, added an implementation of Warshall's algorithm to
vppinfra; to compute the positive transitive closure of a relation. In
this case, the relation is "feature A runs before feature B."
With that in hand, ip_feature_init_cast(...) computes a partial order
across the set of configured feature subgraph nodes.
In unit-testing, we discovered VPP-145 - ip4/6 inacl wiped out
vnet_buffer(b)->ip>current_config_index, which exists in main. So, we
fixed that by moving b->trace_index, adding b->current_config_index,
and removing the ip opaque union current_config_index.
Change-Id: Iff132116f66413dc6b31ac3377198c7a32d51f48
Signed-off-by: Dave Barach <dave@barachs.net>
|