Age | Commit message (Collapse) | Author | Files | Lines |
|
In a heirarchical FIB performing a unicast RPF check would require the traversal of the data-plane graph to seek out all the adjacency objects and then read those to find their interface. This is not efficient. Instead, for each path-list we construct a list of unique input interfaces and link this uRPF-list against the entry in the prefix table. In the data-plane the uRPF list can be retrieved from the load-balance lookup result and the RPF check is a simple and efficient walk across the minimal interface list. The uRPF-list is maintained as the routing heirarchy changes, in a similar way to the data-plane object graph.
We also provide a knob to allow an arbitrary prefix to pass the loose check.
Change-Id: Ie7c0ae3c4483ef467cfd5b136ee0315ff98ec15b
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Uses existing UDP local API in order to register
requested UDP port punt to the host.
CLI: set punt udp [del] <port>
API: punt protocol <l4-protocol> [ip <ver>] [port <l4-port>] [del]
* Only UDP (l4-protocol = 17) is supported at this time
Change-Id: I9232af1c891d1ed174d77f3e0dfe60c4b9d85e40
Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
|
|
Change-Id: Ife7b2907012a79e6893cfa7f2cf61c7a54865248
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
|
|
Change-Id: Ic29592d39f1d672cb6e7e32b4af6123683e022a7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Change-Id: Ic7ae9b43020ab4d26214bfab71b19ee259771c52
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Move check for link-local source IP address for MAC/IP notification
only. Allow generation of response to IP6 ND solicitation request
if a match is found for target IP irrespective of source IP type.
Change-Id: Ib79d4b75fb4fe8aece625fd8cd26c8b9fc75ea47
Signed-off-by: John Lo <loj@cisco.com>
|
|
ip[4|6]_sw_interface_enable_disable() should be called for
the unnumbered interface (and not on the interface with IP address)
Change-Id: Iffd347c539567c1302fa8136eea9c4e06b24d1bd
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
|
|
Change-Id: Ib67bf1a898e3c1e4038698f1cb068ae9099d7921
Signed-off-by: Klement Sekera <ksekera@cisco.com>
|
|
Change-Id: Ice0a6939b399eed150b0c58139b79dd4bed91113
Signed-off-by: Vengada Govindan <venggovi@cisco.com>
|
|
Change-Id: I2cc57079741279669241b88d0317853e1312e8c5
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
1:1 NAT
1:1 NAT with ports
1:1 NAT static mapping only - add "static mapping only [connection tracking]"
to snat startup config
Change-Id: I37cd06a9d71d1943eb6618034d7c547c4a9348c4
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Recheck.
This is to support multiple VPP instances on same host.
Change-Id: Ibe511b1f790fc8771900085577423f7e71dc45df
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
This patch fixes load balancer, which was not working
since FIB 2.0.
Two FIB DPO types are defined:
- One for IPv4 GRE
- One for IPv6 GRE
When an AS is created, the plugin automatically uses
the result from the FIB in order to transmit the packet.
Therefore, the packet does not need to visit ip-lookup twice.
The 'bypass' command was removed, as it is now done
automatically using this process.
Change-Id: Ib505ba31bfc67897eaff752821087821c360360a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: Ibbcce6f54bc76b8922b1c649278643c6294d13f9
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Simply put, threads cannot sleep waiting for the vlib memory api main
input queue to drain. If, say, thread i (i !=0) fills the vlib api
main input queue with rpc requests - and then blocks trying to add
another request - the game is over.
RPCs attempt a barrier synchronization, which fails with Pr = {1.0}
because thread i is in a mutex/condvar sleep.
Add a main-thread cut-through path, which directly invokes the RPC
callback function when called on the main thread.
Change-Id: Ib036f0cc43b5738455c3a111cff64a132537152e
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Commit of the patch from Neale Ranns
Change-Id: Ia0480ef56036dd0aec990c3892a93b99eb9fb893
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
|
|
- correct formatting errors
- add to user_doc tree
- unix line endings, not windows(!)
Change-Id: I9aa5511c398fc33ecb25fb33ae64c8e666c56dd8
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
Change-Id: I554041bf47aa82dd6f6e0563c68d8bbd3b18b255
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
- new API/CLI to define pbb tag rewrite on interface
- encapsulation/decapsulation of PBB tags
- tracing of PBB header
- PBB tag rewrite operations
Change-Id: I538b3025a8b2e41cdeed9f10fea94bbcd28b5f5f
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
|
|
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I45f35e14e162bc1e8c69bd632f8813dde9f8270b
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I73ca19c431743f6b39669c583d9222a6559346ef
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Signed-off-by: Stefan Kobza <skobza@cisco.com>
Signed-off-by: Matej Klotton <mklotton@cisco.com>
Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
add two new CLI commands:
show fib memory
show dpo memory
to display the memory usage of the FIB and DPO object types respectively.
Change-Id: I759e149a0b6fbb58d59c139362221dc33531cffa
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I1f4421289b2f93b64a2470559d834717ef40e181
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
It is very likely that all packets are being stored in the same
memory area.
It is also likely that all indirect descriptors are being
allocated from the same area.
This patch takes this into account by predicting the value
returned by map_guest_mem will be the same as the previous one.
It falls back to slow mode otherwise.
Change-Id: Ic1044a172fc4abe77387ba2e19e11cd1f39ad1e3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: Ie17b324492d61130690ba9d05821eaefe10072d4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Make space for upcoming test framework.
Change-Id: I14da6cf95c645d8ee2b71579a658dc7ef3b9f027
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: I046de0c00db75d25ed90e33e9910c9dd0ff95580
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Added ability to change interface address.
Added new CLI and API functions.
Change-Id: Ia336bc75ad8c5858c26f39af851485c4c6f19f58
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
|
|
loop0 interfaces were transmitting the same packets multiple times,
eventually causing them to be freed multiple times
Change-Id: I32fcf5cfa10e58bb9e9bbbbc1b9312518d00ee9f
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
|
|
Change-Id: Ie6e1b3c8c2e0cf64f06aafe13a693686fd4b486a
Signed-off-by: John DeNisco <jdenisco@cisco.com>
|
|
GID dictionary IP prefix entries are rewritten with more narrow one
which is not desirable. This patch does exact matching instead of
longest prefix matching.
Change-Id: I0191e23229a69ffe86f82ea4d71e4a5534dbb5b0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Change-Id: I976a44dcfb32b1132c14363174239333315b2c6f
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: If90c9c630629e727fffc5d450516045a04433661
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Change-Id: Ide97a8bf55d3baf41a1e86af2c67c6b7b26b657a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
|
|
Related changes:
- NSH: https://gerrit.fd.io/r/#/c/3181/
- Honeycomb: https://gerrit.fd.io/r/#/c/3182
Change-Id: Ifdd6b8b575916fdf99794618dbe604c2e17e8e82
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
|
|
This commit extends the vpp framework with new thread type "hqos-threads" that
runs the Hierarchical Quality of Service (HQoS) scheduler associted with output
interface. HQoS Scheduler prioritize the packets from different users and
ensures sufficient bandwidth to pass the more important traffic.
At high level, HQoS scheduler is a buffer that can temporarily store a
large number of packets. In otherwords, it is a collection of large number
of queues organized into hierarchy of 5 levels; the port (i.e. the physical
interface) is at the root of the hierarchy followed by the subport (a set
of users), the pipes (individual users), the traffic classes (each with a
strict priority) and at the leaves, the queues.
In each HQoS scheduler, three operations are performed; classification
(setting HQoS port, subport, pipe, traffic class and queue within traffic
class from packet fields), enqueue (selecting HQoS queue for the packet,
and to drop the packet if the queue is full) and dequeue (schedule the
packet based on its length and available credits, and handover the scheduled
packet to the output interface).
In vpp, the number of hqos threads will be equal to cpu cores specified in
corelist-hqos-threads parameter cpu section of the vpp configuration file.
One hqos thread can run HQoS for multiple output interfaces. A particular HQoS
instance is initialised with default parameters required to configure hqos port,
subport, pipe and queues. Some of them can be re-configured in run-time
through CLI commands as well binary APIs.
Following illustrates the sample startup configuration file with 4x worker
threads feeding 2x hqos threads that handle each HQoS for 1x output interface.
For more details on HQoS configuration please refer to DPDK Programmer's Guide.
dpdk {
socket-mem 16384,16384
dev 0000:02:00.0 {
num-rx-queues 2
hqos
}
dev 0000:06:00.0 {
num-rx-queues 2
hqos
}
num-mbufs 1000000
}
cpu {
main-core 0
corelist-workers 1, 2, 3, 4
corelist-hqos-threads 5, 6
}
Change-Id: I635c3395a7c4ddf0a239ef77b0b0a31a6dfc4767
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
|
|
Change-Id: Ibf3d2e69dbac28fbef77d8ba20d7f5a60eea0198
Signed-off-by: John Lo <loj@cisco.com>
|
|
Output classify node should use sw_if_index[VLIB_TX]
Like in l2_output.c, we have to use sw_if_index[VLIB_TX]
to get the appropriate configuration.
Change-Id: I96b1a03ddf5c9e9c45fa3f5df3ea88895ed4345e
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
|
|
Only rewind the buffer back to the start of the ethernet header,
rather than all the way. We don't want to undo earlier
decapsulation.
Change-Id: I5f4b183eb3e8df690695ce3a97e55f3b0579a266
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
|
|
Change-Id: Ife1523e11b7225ea0fd41c06c3b802bb171e91f4
Signed-off-by: John DeNisco <jdenisco@cisco.com>
|
|
the clock slew is greater with Vagrant 1.8.5 which causes Makefile.am to be
timestamped as newer which causes builds to fail.
Change-Id: Id0d35c41ac66a2841c5aae20dd678f4bc125e41b
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
|
|
Per-numa free hugepages number was not read correctly due
to wrong sysfs path.
Change-Id: I889111027d7f93c42e2e4673d8d4e8f75ae065b6
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
- scheduler-prio -> scheduler-priority
- improve formatting of "show threads" output
- add description to "startup.conf"
- bail out of priority is set without rr or fifo policy
Change-Id: Idf897f7603d989d6c2d0093eea89c5d1653eaa8c
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
|
|
The templates were looking for the name of the CLI_COMMAND
and CONFIG_FUNCTION structures in the srong place.
Change-Id: I709d6716216173ba6a7ed41a260728238f96d2db
Signed-off-by: Chris Luke <chrisy@flirble.org>
|
|
man sysctl.d:
...
Packages should install their configuration files in /usr/lib/. Files in
/etc/ are reserved for the local administrator, who may use this logic to
override the configuration files installed by vendor packages. All configuration
files are sorted by their filename in lexicographic order, regardless of which
of the directories they reside in. If multiple files specify the same option,
the entry in the file with the lexicographically latest name will take
precedence. It is recommended to prefix all filenames with a two-digit number
and a dash, to simplify the ordering of the files.
If the administrator wants to disable a configuration file supplied by
the vendor, the recommended way is to place a symlink to /dev/null in the
configuration directory in /etc/, with the same filename as the vendor
configuration file.
...
Change-Id: I24b8b7fddf64ec287282ae195e07c9592c494ebe
Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
|
|
* use zero length array in LISP API to avoid confusion
* add missing LISP data structure definitions in API documentation
* fix wrong memory allocation in VAT
Change-Id: I9b5e656a071fc24cb698c164db953c09b66deeeb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
|
|
Change-Id: Ic453e68bbd3d5ae8d57b513da6781bb957fc84a4
Signed-off-by: John Lo <loj@cisco.com>
|
|
the create sub interface command was creating the interfaces with
the same outer_vlan value - causing an error
changed to use the interface id as outer_vlan in case of a range
Change-Id: I3808094d1c99a37adac61e3ece573a6687306461
Signed-off-by: Eyal Bari <ebari@cisco.com>
|
|
Add ability to hadle scheduling policy and priority via config file.
CPU section contains new items to specify scheduling policy and
priority:
cpu {
scheduler-priority <num>
scheduler-policy [other | batch | idle | fifo | rr ]
}
Change-Id: Ie20765280e458e1d7deb4a8c66daaa69793f795e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
|