summaryrefslogtreecommitdiffstats
path: root/src/vnet/srv6/sr_policy_rewrite.c
AgeCommit message (Collapse)AuthorFilesLines
2023-02-10sr: support define src ipv6 per encap policyTakeru Hayasaka1-20/+42
Can to define src ip of outer IPv6 Hdr for each encap policy. Along with that, I decided to develop it as API version V2. This is useful in the SRv6 MUP case. For example, it will be possible to handle multiple UPF destinations. Type: feature Change-Id: I44ff7b54e8868619069621ab53e194e2c7a17435 Signed-off-by: Takeru Hayasaka <hayatake396@gmail.com>
2023-01-10sr: fix compilation errorsGuillaume Solignac1-3/+4
Uses VPP's clib_host_to_net functions, and initializes a potentially uninitialized variable. Type: fix Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: Ie6b035c698f57ff39aeb955b35db8ec40f383b7a
2022-06-30sr: SRv6 Path Tracing Sink node behaviorAhmed Abdelsalam1-0/+10
Type: feature Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I2d3a0211abfee3501d3d77c80da20e67e1e9e133
2022-06-07sr: SRv6 TEF behavior supportAhmed Abdelsalam1-3/+68
Adding support for the SRv6 TEF (Timestamp, Encapsulation and Forward) behavior defined in draft-filsfils-spring-path-tracing (https://datatracker.ietf.org/doc/draft-filsfils-spring-path-tracing/). Type: feature Change-Id: I7f38b593147daf8d27af9c983448cf82947e5bed Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
2022-01-24sr: fix coverity warningKlement Sekera1-4/+0
Remove dead code. Pool element cannot be NULL. Type: fix Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I7812efdcdc414af8352474c4e527c878d2e2c459
2021-10-06docs: vnet comment nitfixesNathan Skrzypczak1-2/+2
Type: improvement Change-Id: Iac01d7830b53819ace8f199554be10ab89ecdb97 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-08-26sr: extend the srv6 sid list structureAhmed Abdelsalam1-38/+47
Extend the srv6 sid list structure with policy type to support different SR policy types Type: feature Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I6a8cf82b1269e1c46f3757df0047b306f613112b
2021-07-15misc: replace CLIB_PREFETCH with clib_prefetch_{load,store}Damjan Marion1-24/+24
Type: refactor Change-Id: Id10cbf52e8f2dd809080a228d8fa282308be84ac Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-02-05sr: Fix the issue that L3VPN SRv6 encapsulated packets could not be forwarded.Tetsuya Murakami1-0/+17
Type: fix Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com> Change-Id: Ia12feee9e46d4951519d5c6f9d1a21d89701dc0f Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
2021-01-21sr: SRv6 FlowLabel AddedJakub Horn1-12/+39
Type: improvement Signed-off-by: Jakub Horn <jhorn@cisco.com> Change-Id: I06401a8645615d139893dca27d07bb3b3214bea7
2020-12-14misc: move to new pool_foreach macrosDamjan Marion1-6/+6
Type: refactor Change-Id: Ie67dc579e88132ddb1ee4a34cb69f96920101772 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-13sr: show the hop-limit value used for SRv6 encapsulationAhmed Abdelsalam1-0/+21
Implements CLI to show the hop-limit value used for the outer IPv6 header of the SRv6 encapsulation. Type: feature Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I1f3d8f71fb94494ae6ab8104b9fcf989c5585d5c
2020-11-10sr: Show IPv6 address used as SRv6 Encaps sourceAhmed Abdelsalam1-0/+27
Implements CLI to show the IPv6 address used as source address for the SRv6 encapsulation. Type: feature Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: Ia442d9345a7793836148d890745fc5dc92729b6f
2020-10-28misc: Break the big IP header files to improve compile timeNeale Ranns1-2/+2
Type: refactor Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Change-Id: Id1801519638a9b97175847d7ed58824fb83433d6
2020-05-15misc: removed executable bits from source filesRay Kinsella1-0/+0
Identified and removed executable bit from source files in the tree. find . -perm 755 -name *.[ch] -exec chmod a-x {} \; Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I00710d59fcc46ce5be5233109af4c8077daff74b
2020-04-20sr: fix non-NULL terminated string overflowBenoît Ganne1-1/+1
Type: fix Change-Id: Ia5ae0e893a5358f61353d20f444d88d79953e482 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-02-11sr: update NH value for Ethernet payloadspcamaril1-10/+10
Upon encapsulation of L2 frames, IETF has replaced the NextHeader value from 59 (IPv6 No Next Header) to 143 (Ethernet). https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Type: fix Signed-off-by: pcamaril <pcamaril@cisco.com> Change-Id: I88aa5590c81d16700ff7a0bbe6337e113179496e Signed-off-by: pcamaril <pcamaril@cisco.com>
2019-12-05srv6-mobileTetsuya Murakami1-15/+201
Type: feature Plug-in for IPv6 Segment Routing Mobile Support the plug-in function in SR Policy. Support GTP4.D plug-in as SR Policy plug-in. Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com> Change-Id: I306160b7203921d879940193868944158867c482
2019-10-23sr: add "set sr encaps hop-limit" commandIgnas Bačius1-1/+40
Default hop-limit for the encapsulating IPv6 header is a compile-time constant. Add ability to specify custom hop-limit, in order to avoid packets being dropped with "hop limit exceeded in transit" response in certain network configurations. Type: feature Signed-off-by: Ignas Bačius <ignas@noia.network> Change-Id: I77f2b35c987cfd31801dc2744d31fb3c1984158f
2019-09-25ip: respect buffer boundary when searching for ipv6 headersKlement Sekera1-12/+15
Type: fix Change-Id: I5a5461652f8115fa1270e20f748178fb5f5450f2 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-07-28sr: ipv6 segment routing header (srh) updateAhmed Abdelsalam1-6/+6
SRH has passed WG review in IETF and currently an IESG document. This patch updates the SRH definition to be compliant with IETF. - Change "first_segment" to "last_entry" - Change "reserved" to "tag" Change-Id: I1765c968671655c5646f6de478d1f7196abbc040 Type: fix Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach1-210/+212
Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1 Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-23c11 safe string handling supportDave Barach1-2/+2
Change-Id: Ied34720ca5a6e6e717eea4e86003e854031b6eab Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-14Fix memory leak in API/CLI to create/modify SR policiesJohn Lo1-0/+2
The segment list vector built by the API/CLI is not freed after SR policy creation or modification. Change-Id: If439005481cada6c6af7cb560fe7a4381dd49384 Signed-off-by: John Lo <loj@cisco.com>
2018-01-09VPP-1120 SRv6 bug with SID list containing only one SID and no srhPablo Camarillo1-26/+64
Packets with a SR policy of one SID list create a malformed packet. Outer IPv6 header points to a routing extension header that does not exist since the SID list contains only one SID. Change-Id: I1effee0457453bab95706a8a24fdabfbd843d5b7 Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-11-27SRv6 improvements to binary APIPablo Camarillo1-0/+6
Change-Id: I260f5fe43074c0be973309f0a0895f50f0ca7c2b Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-11-09BIERNeale Ranns1-1/+1
- see draft-ietf-bier-mpls-encapsulation-10 - midpoint, head and tail functions - supported payload protocols; IPv4 and IPv6 only. Change-Id: I59d7363bb6fdfdce8e4016a68a9c8f5a5e5791cb Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-09-11FIB table add/delete APINeale Ranns1-2/+4
part 2; - this adds the code to create an IP and MPLS table via the API. - but the enforcement that the table must be created before it is used is still missing, this is so that CSIT can pass. Change-Id: Id124d884ade6cb7da947225200e3bb193454c555 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-08-22SRv6 testsKris Michielsen1-2/+4
Change-Id: Ib1d2fc5a83d9d007a0468591a73881675f1bec9b Signed-off-by: Kris Michielsen <kmichiel@cisco.com>
2017-05-05First commit SR MPLSPablo Camarillo1-0/+3227
Change-Id: I961685a2a0e4c314049444c64eb6ccf877c278dd Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>