frr
frr copied to clipboard
zebra: fix neighbor table name length
Toggling user-space neighbor discovery for IPv6 did not work because the table name was not fully copied to the Netlink message.
can I get an example of what is actually broken here? I'm a bit cornfused.
The issue here is that the length of the NDTA_NAME attribute is hard-coded to 10, whereas the correct length of ndisc_cache is 11. This results in the trailing e not being copied to the Netlink message. Consequently, nhrpd will not get notified when the kernel attempts to perform neighbor solicitation on the target interface.
The correct length of arp_cache is 9, but as the constant string is null-terminated and the field in the Netlink message is anyway padded with null bytes to the length of 12, this error has no effect on IPv4.
can I get an example of what is actually broken here? I'm a bit cornfused.
We're copying the string "ndisc_cache" with a length of 10. That string is 11 characters :laughing:
@Mergifyio backport stable/10.4 stable/10.3 stable/10.2
backport stable/10.4 stable/10.3 stable/10.2
✅ Backports have been created
- #19734 zebra: fix neighbor table name length (backport #18872) has been created for branch
stable/10.4 - #19735 zebra: fix neighbor table name length (backport #18872) has been created for branch
stable/10.3 - #19736 zebra: fix neighbor table name length (backport #18872) has been created for branch
stable/10.2
@Mergifyio backport dev/10.5
backport dev/10.5
✅ Backports have been created
- #19737 zebra: fix neighbor table name length (backport #18872) has been created for branch
dev/10.5
@eqvinox @ton31337 any remaining questions? can you approve so we can merge this?
nothing from my side
nothing from my side
how about ... approving it then? I think the rest of us don't want to merge when it appears you still have questions?
@margifyio backport dev/10.5