| .. _srv6_steering_doc: |
| |
| Steering packets into a SR Policy |
| ================================= |
| |
| steer packets using the sr steering policy |
| ------------------------------------------ |
| |
| To steer packets in Transit into an SR policy (T.Insert, T.Encaps and |
| T.Encaps.L2 behaviors), the user needs to create an ‘sr steering |
| policy’. |
| |
| :: |
| |
| sr steer l3 2001::/64 via index 1 |
| sr steer l3 2001::/64 via bsid cafe::1 |
| sr steer l3 2001::/64 via bsid cafe::1 fib-table 3 |
| sr steer l3 10.0.0.0/16 via bsid cafe::1 |
| sr steer l2 TenGE0/1/0 via bsid cafe::1 |
| |
| Disclaimer: The T.Encaps.L2 will steer L2 frames into an SR Policy. |
| Notice that creating an SR steering policy for L2 frames will actually |
| automatically *put the interface into promiscous mode*. |
| |
| steer packets using the classifier |
| ---------------------------------- |
| |
| Another way to steer packet is to use the classifier. |
| |
| First the user need to manually add the source routing node to the list |
| of the ip6-inacl next nodes. Using the python api this can be done |
| with: |
| |
| :: |
| |
| # jsonfiles = get list of json api files |
| vpp = VPP(jsonfiles) |
| vpp.add_node_next(node_name='ip6-inacl', next_name='sr-pl-rewrite-insert') |
| |
| Below is a classifier mask filtering all the packets from the interface |
| TenGigabitEthernet5/0/0 on ip version and moving all ipv6 packets to the |
| sr-pl-rewrite-insert node (dropping the others) and applying the source |
| routing index 2. In essence, this means “apply this sr policy to all the |
| packets from this interface) |
| |
| :: |
| |
| vpp# classify table miss-next 0 current-data-flag 1 mask hex f000000000000000 skip 0 |
| vpp# classify session acl-hit-next 1 table-index 0 match hex 6000000000000000 action set-sr-policy-index 2 |
| vpp# set interface input acl intfc TenGigabitEthernet5/0/0 ip6-table 0 |