[dplane_fpm_sonic]: Fix for SRv6 SIDs learnt from the kernel#21534
[dplane_fpm_sonic]: Fix for SRv6 SIDs learnt from the kernel#21534kperumalbfn merged 1 commit intosonic-net:masterfrom
Conversation
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@abdosi Default SRV6 block length, node length, function length, argument length |
|
@r12f This fix will be required in 202412 branch. |
|
Cherry-pick PR to msft-202412: Azure/sonic-buildimage-msft#557 |
|
Thanks Kumaresh! I have added the 202412 tag for this one. |
| #define FPM_HEADER_SIZE 4 | ||
|
|
||
| /* Default SRv6 SID format values */ | ||
| DEFAULT_SRV6_LOCALSID_FORMAT_BLOCK_LEN = 32; |
There was a problem hiding this comment.
I found that a compilation warning is triggered here,
../zebra/dplane_fpm_sonic.c:78:1: warning: data definition has no type or storage class 78 | DEFAULT_SRV6_LOCALSID_FORMAT_BLOCK_LEN = 32; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../zebra/dplane_fpm_sonic.c:78:1: warning: type defaults to 'int' in declaration of 'DEFAULT_SRV6_LOCALSID_FORMAT_BLOCK_LEN' [-Wimplicit-int]
and I'm curious why the code is written this way. Can it be modified to be like this?
#define DEFAULT_SRV6_LOCALSID_FORMAT_BLOCK_LEN 32
The current SRv6 test cases are implemented by installing the SRv6 SIDs in the kernel. Then the kernel notifies FRR about these SIDs. The current Netlink messages from the kernel does not provide the SID information (block length, node length, function length, argument length).
This PR extends the
dplane_fpm_sonicto handle this issue by setting the SID information to the locator defaults.