]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Add missing info to locator encode/decode
authorCarmine Scarpitta <cscarpit@cisco.com>
Mon, 6 May 2024 15:46:44 +0000 (17:46 +0200)
committerCarmine Scarpitta <cscarpit@cisco.com>
Thu, 13 Jun 2024 12:54:16 +0000 (14:54 +0200)
Include block/node/function/argument lengthi when
encoding/decoding an SRv6 locator.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
lib/zclient.c

index 8308215de987e3a60e3a32136a900bcb4e0e6123..b0e97b0f126c9d1a2ae405b3f692e74e66668231 100644 (file)
@@ -1125,6 +1125,10 @@ int zapi_srv6_locator_encode(struct stream *s, const struct srv6_locator *l)
        stream_put(s, l->name, strlen(l->name));
        stream_putw(s, l->prefix.prefixlen);
        stream_put(s, &l->prefix.prefix, sizeof(l->prefix.prefix));
+       stream_putc(s, l->block_bits_length);
+       stream_putc(s, l->node_bits_length);
+       stream_putc(s, l->function_bits_length);
+       stream_putc(s, l->argument_bits_length);
        stream_putc(s, l->flags);
        return 0;
 }
@@ -1141,6 +1145,10 @@ int zapi_srv6_locator_decode(struct stream *s, struct srv6_locator *l)
        STREAM_GETW(s, l->prefix.prefixlen);
        STREAM_GET(&l->prefix.prefix, s, sizeof(l->prefix.prefix));
        l->prefix.family = AF_INET6;
+       STREAM_GETC(s, l->block_bits_length);
+       STREAM_GETC(s, l->node_bits_length);
+       STREAM_GETC(s, l->function_bits_length);
+       STREAM_GETC(s, l->argument_bits_length);
        STREAM_GETC(s, l->flags);
        return 0;