History log of /vppsb/router/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
22dc5563 24-May-2019 Jakub Horn <jhorn@cisco.com>

ISIS support for tap-inject

Change-Id: I856bbfbd55969f52d8f326855c51de8bd9e4ccaf
Signed-off-by: Jakub Horn <jhorn@cisco.com>

3a3b77f2 04-Oct-2018 Hongjun Ni <hongjun.ni@intel.com>

Fix build issue due to vpp's function parameters change

Change-Id: I00282bc235cffb672911454af8d7dc7ab04fd7a1
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

31a24b65 07-Aug-2018 Hongjun Ni <hongjun.ni@intel.com>

Remove FIB_1.0 support and fix FIB_2.0 issue

Change-Id: I90e593993851a364b728034c13e8e69852b558c4
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

38f03b2d 02-Jul-2018 Tomasz Plaza <tomasz.plaza@grupawp.pl>

Note about selinux rules used by router plugin and log added about sendmsg error in netlink.

Change-Id: Id761357ae5842e66d3425ec5e949ac284dca98cf
Signed-off-by: Tomasz PÅ‚aza <tomasz.plaza@gmail.com>

2ab698c9 15-Mar-2018 Chad Wang <imflinter@gmail.com>

Add support for MPLS labels in router plugin

1. Fixed more formatting issues. Added ASSERT.
2. Added MPLS features to support iproute2 command like
ip -f mpls route add <label> dev vpp0
ip route add <IP> encap mpls <LABELS> via <IP> dev vpp0
3. Modifications to compile with the latest VPP.

Change-Id: I5ed55ec3c6484beb1377496e9c763bb55da7ee26
Signed-off-by: Chad Wang <imflinter@gmail.com>

042a782c 07-Nov-2017 Michael Borokhovich <michaelbor@gmail.com>

Changing unix_file to clib_file in order to work with VPP 1801

Change-Id: Ie27f1884692802ae1b6a48ac25ef5aef25495c0a
Signed-off-by: Michael Borokhovich <michaelbor@gmail.com>

0757a32b 18-Oct-2017 Michael Borokhovich <michaelbor@gmail.com>

Fix multicast packet reception.

This commit adds the entry to the mfib, making it possible to receive multicast packets.
Previously, multicast packets would not be received because the entry was added to the unicast fib and not mfib.

Change-Id: Id324805da3f214b3b68e9dba8b3967c615135765
Signed-off-by: Michael Borokhovich <michaelbor@gmail.com>

7e3b6d1e 10-Oct-2017 Pierre Pfister <ppfister@cisco.com>

Merge "[router] Remove call to vlib_buffer_chain_validate"

380b9852 09-Oct-2017 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Remove call to vlib_buffer_chain_validate

The vlib_buffer_chain_validate() function was removed from VPP.
To avoid referencing an undefined symbol, this commit removes the
function call.

Change-Id: I53f911a7d7b3d6121b8a4a0768b259af20730686
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

50a852c1 09-Oct-2017 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Set VLIB_RX metadata to valid sw_if_index

In normal cases, some multicast frames from the control plane are
dropped by VPP before being sent. We were not setting the VLIB_RX
interface to a valid sw_if_index, causing a segmentation fault
when updating counters in the process_drop node.

Change-Id: I950158b6c36c9056ee024d2524099db03bffbf35
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

ffd58251 28-Mar-2017 Hongjun Ni <hongjun.ni@intel.com>

FIx compile issue for netlink and router plugin

Change-Id: I8a6f069af4acce97fd0ee262c217af645afd476d
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Signed-off-by: Dave Barach <dave@barachs.net>

dfae7756 21-Sep-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] IPv6 support and refactoring.

This change adds support for IPv6 while refactoring most of the
original plugin code in the following ways.

- Adhere to vpp style guidelines.

- Split the netlink, node, and tap processing into separate
files named with a "tap_inject" prefix which more accurately
represents the functionality.

- Implement our own tap management and rx/tx. This is to reduce
the overhead of passing packets in and out of vnet tap
devices, in favor of directly reading/writing from the tap.

- Change how nodes work. Now we have neighbor, rx, and tx nodes.
The neighbor node sends ARP replies and ICMP6 neighbor
advertisements to the arp-input and icmp6-neighbor-solicitation
nodes, respectively, before also injecting the packet to the
host, making it possible for both vpp and the host network stack
to resolve the next hop. The tx node injects packets into the
host by writing to the tap. The rx node reads packets from the
tap and sends them on its associated data plane interface.

- Simplify the CLI. Instead of creating taps specifically for
a given interface we create a tap for all of the Ethernet
interfaces with the "enable tap-inject" CLI command. The
interfaces are named with a "vpp" prefix, i.e. "vpp0". Also
add a "disable tap-inject" option.

- Provide ability to enable at configuration time with the
tap-inject { enable } stanza.

Change-Id: I6b56da606e2da1d793ce6aca222fe4eb5a4e070d
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

592a7399 18-Aug-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Support UDP protocol.

Register an IP protocol handler for UDP. When a UDP packet
arrives on a tapped interface configured for UDP, the packet
is injected on the input device's respective tap.

commit f560a490c already adds support for directing multicast
packets to the tap device.

Change-Id: I2a28a123d9bf1470f87986e66f34e76a99e63f48
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

c4da7ab6 04-Aug-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Handle initial tap link state.

When an interface is tapped, the tap inherits the link state of the
underlying device.

Also, the hw vector was being resized in the time between getting
the interface and when the hw_address was referenced, leading to
a segmentation fault. Resolve the issue by saving the mac
address contents on the stack before passing to other functions.

Change-Id: I4b5b31e438159a83ddfea808882503775b1fcd1a
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

5d7ae6ad 08-Aug-2016 Elza Mathew <elza.mathew@intel.com>

[router] Link state events

This patch introduces a method to listen to link state events.
The method invokes callback functions to set the interface

Change-Id: I284bc5dd92a38c91f093d6709fb43b6b5ae57c56
Signed-off-by: Elza Mathew <elza.mathew@intel.com>

f560a490 03-Aug-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Support igmp and ospf multicast.

When requested, inject IGMP and OSPF packets with a multicast
address of to the respective tap.

Change-Id: I2763e3df1929d12bd7b5a68bca51f83febc63b28
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

c24cbfab 02-Aug-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Correctly handle per-interface protocols

Previously, if one interface were configured to inject a protocol,
then all interfaces would inject the protocol. In other words, if
iface 1 were configured for arp,icmp4 and iface 2 were configured
for arp,icmp4,tcp, then iface 1 would erroneously inject tcp.

This commit fixes the above behavior such that each packet is
compared with the protocols enabled for the interface before

Change-Id: I20477a24019f3e0209b863aca25c1253ba45d7f4
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

3c93dba7 29-Jun-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Remove note about build failure.

The build issue has been fixed in the netlink repo. Remove
the note from the README as it is no longer relevant.

Change-Id: I3d9fe59f443b926fb83dce16655d86d88ea06be4
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

eadba30e 29-Jun-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Support tcp injection on tapped interfaces.

Enabled with 'tap inject arp,icmp4,tcp from ... as ...'

Change-Id: Ibc1670a8d4b9b3c4369ced9e42df85f496f4129c
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

c2a7f2f7 29-Jun-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

[router] Combine node functions.

Handle arp, icmp4, and classified packets in a single node
function instead of three nearly identical ones.

Change-Id: Id3752bbf2b4f5b1f9d8f98315d330dcf2124c829
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>

061c542d 17-Jun-2016 Jeff Shaw <jeffrey.b.shaw@intel.com>

router: initial commit

Change-Id: Ief5544e58f002e8d33b72dd87295c29f93345d37
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>