plugins types BUGFIX print same IPv6 format as stored#2509
Closed
jeremie6wind wants to merge 2 commits intoCESNET:develfrom
Closed
plugins types BUGFIX print same IPv6 format as stored#2509jeremie6wind wants to merge 2 commits intoCESNET:develfrom
jeremie6wind wants to merge 2 commits intoCESNET:develfrom
Conversation
The stored IPv6 address is sometimes not the same as the printed one. For instance, if a compressed IPv6 address ::2222:1111 is stored, then a dual stack IPv6 address ::34.34.17.17 will be printed. This is due to the inet_ntop function implementation. The aim of this patch is to store the IPv6 format and print the same format. Store the IPv6 format with the value. Introduce ipv6address_ip2str that converts back the IPv4 part if necessary. Signed-off-by: Jeremie Leska <jeremie.leska@6wind.com>
michalvasko
reviewed
Apr 13, 2026
| * @param[in] ctx libyang context with dictionary. | ||
| * @param[in,out] addr Allocated value for the address. | ||
| * @param[out] zone Ipv6 address zone in dictionary. | ||
| * @param[out] dual stack format. |
Member
There was a problem hiding this comment.
No description of the param.
| static LY_ERR | ||
| ipv6address_str2ip(const char *value, uint32_t value_len, uint32_t options, const struct ly_ctx *ctx, | ||
| struct in6_addr *addr, const char **zone, struct ly_err_item **err) | ||
| struct in6_addr *addr, const char **zone, uint8_t *dual_stack_format, struct ly_err_item **err) |
Member
There was a problem hiding this comment.
You should use ly_bool for boolean values and can then call the param just dual_stack, everywhere.
| */ | ||
| struct lyd_value_ipv6_address_no_zone { | ||
| struct in6_addr addr; /**< IPv6 address in binary */ | ||
| uint8_t dual_stack_format; /**< Dual stack IPv6 format or compressed format */ |
Member
There was a problem hiding this comment.
This is a problematic change. The header is public meaning this is an NBC change. I have just made the new release and it caused enough annoyance so too bad you have not made this change before it. Now it cannot be merged and we have not planned a new major SO version bump anytime soon.
Member
|
Thanks for the effort but I do not think this can be merged at all, unfortunately. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi,
The stored IPv6 address is sometimes not the same as the printed one.
For instance, if a compressed IPv6 address ::2222:1111 is stored, then a dual stack IPv6 address ::34.34.17.17 will be printed. This is due to the inet_ntop function implementation.
The aim of this patch is to store the IPv6 format and print the same format.
Store the IPv6 format with the value.
Introduce ipv6address_ip2str that converts back the IPv4 part if necessary.
Thank you
Best regards
Jeremie