diff options
author | Hiroki Shirokura <slank.dev@gmail.com> | 2020-12-31 12:56:32 +0100 |
---|---|---|
committer | Mark Stapp <mjs@voltanet.io> | 2021-06-02 16:24:48 +0200 |
commit | ac6a9479af182fad4810fe6d21abc73f39c751f9 (patch) | |
tree | f0e2de60e74c2fcbd95a6920a50fbb5483108271 /lib/srv6.h | |
parent | doc: fix srv6 section according to review (diff) | |
download | frr-ac6a9479af182fad4810fe6d21abc73f39c751f9.tar.xz frr-ac6a9479af182fad4810fe6d21abc73f39c751f9.zip |
zebra: add zapi_srv6_locator_chunk_{en,de}code
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
Diffstat (limited to 'lib/srv6.h')
-rw-r--r-- | lib/srv6.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/lib/srv6.h b/lib/srv6.h index 46ff830e7..9ac89125c 100644 --- a/lib/srv6.h +++ b/lib/srv6.h @@ -76,7 +76,16 @@ struct seg6local_context { struct srv6_locator { char name[SRV6_LOCNAME_SIZE]; struct prefix_ipv6 prefix; + + /* + * Bit length of SRv6 locator described in + * draft-ietf-bess-srv6-services-05#section-3.2.1 + */ + uint8_t block_bits_length; + uint8_t node_bits_length; uint8_t function_bits_length; + uint8_t argument_bits_length; + int algonum; uint64_t current; bool status_up; @@ -87,11 +96,25 @@ struct srv6_locator { DECLARE_QOBJ_TYPE(srv6_locator); struct srv6_locator_chunk { + char locator_name[SRV6_LOCNAME_SIZE]; + struct prefix_ipv6 prefix; + + /* + * Bit length of SRv6 locator described in + * draft-ietf-bess-srv6-services-05#section-3.2.1 + */ + uint8_t block_bits_length; + uint8_t node_bits_length; + uint8_t function_bits_length; + uint8_t argument_bits_length; + + /* + * For Zclient communication values + */ uint8_t keep; uint8_t proto; uint16_t instance; uint32_t session_id; - struct prefix_ipv6 prefix; }; static inline const char *seg6_mode2str(enum seg6_mode_t mode) |