summaryrefslogtreecommitdiffstats
path: root/src/vnet/ip
diff options
context:
space:
mode:
authorGabriel Ganne <gabriel.ganne@enea.com>2017-10-02 11:41:24 +0200
committerDamjan Marion <dmarion.lists@gmail.com>2017-11-10 20:25:10 +0000
commit8527f12b525181b47cc7c0c9e943a743b1a3b19e (patch)
treea4a407a2d1b25fc42f80ff06b952271a72f60025 /src/vnet/ip
parentf616d10d04d5c444e20e617841a54cfb2c58d07d (diff)
add classify session action set-sr-policy-index
This allows to use the classifier to steer source routing packets instead of using the "sr steer" command. This way we can steer on anything instead of only the dst ip address. test: * add add_node_next function to the VppPapiProvider class. * add simple test scenario using the classifier to steer packets with dest ip addr == a7::/8 to the source routing insert node. * use new interface indexes (3,4) instead of (0,1) to prevent a cleanup conflict with the other tests which attach a specific fib to the interface. The test creates interfaces sepsrated from the other tests to prevent a conflict in the cleaning of the ip6 fib index 1 which causes vpp not to be able to find a default route on this table. Change-Id: Ibacb30fab3ce53f0dfe848ca6a8cdf0d111d8336 Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'src/vnet/ip')
-rw-r--r--src/vnet/ip/ip_input_acl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vnet/ip/ip_input_acl.c b/src/vnet/ip/ip_input_acl.c
index b0b52ab11c3..1dd5317ee24 100644
--- a/src/vnet/ip/ip_input_acl.c
+++ b/src/vnet/ip/ip_input_acl.c
@@ -288,6 +288,8 @@ ip_inacl_inline (vlib_main_t * vm,
if (e0->action == CLASSIFY_ACTION_SET_IP4_FIB_INDEX ||
e0->action == CLASSIFY_ACTION_SET_IP6_FIB_INDEX)
vnet_buffer (b0)->sw_if_index[VLIB_TX] = e0->metadata;
+ else if (e0->action == CLASSIFY_ACTION_SET_SR_POLICY_INDEX)
+ vnet_buffer (b0)->ip.adj_index[VLIB_TX] = e0->metadata;
}
else
{