This change introduces a mechanism for notifying userspace applications about changes to IPv6 anycast addresses via netlink. It includes: * Addition and deletion of IPv6 anycast addresses are reported using RTM_NEWANYCAST and RTM_DELANYCAST. * A new netlink group (RTNLGRP_IPV6_ACADDR) for subscribing to these notifications. This enables user space applications(e.g. ip monitor) to efficiently track anycast addresses through netlink messages, improving metrics collection and system monitoring. It also unlocks the potential for advanced anycast management in user space, such as hardware offload control and fine grained network control.
Showing the changes to include/uapi (1 of 4 files). Show all
Unified · Split
| @@ -100,7 +100,11 @@ enum { · 99 unmodified lines | |||
| 100 | RTM_GETMULTICAST, | 100 | RTM_GETMULTICAST, |
| 101 | #define RTM_GETMULTICAST RTM_GETMULTICAST | 101 | #define RTM_GETMULTICAST RTM_GETMULTICAST |
| 102 | 102 | ||
| 103 | RTM_GETANYCAST = 62, | 103 | RTM_NEWANYCAST = 60, |
| 104 | #define RTM_NEWANYCAST RTM_NEWANYCAST | ||
| 105 | RTM_DELANYCAST, | ||
| 106 | #define RTM_DELANYCAST RTM_DELANYCAST | ||
| 107 | RTM_GETANYCAST, | ||
| 104 | #define RTM_GETANYCAST RTM_GETANYCAST | 108 | #define RTM_GETANYCAST RTM_GETANYCAST |
| 105 | 109 | ||
| 106 | RTM_NEWNEIGHTBL = 64, | 110 | RTM_NEWNEIGHTBL = 64, |
| @@ -783,6 +787,8 @@ enum rtnetlink_groups { · 676 unmodified lines | |||
| 783 | #define RTNLGRP_IPV4_MCADDR RTNLGRP_IPV4_MCADDR | 787 | #define RTNLGRP_IPV4_MCADDR RTNLGRP_IPV4_MCADDR |
| 784 | RTNLGRP_IPV6_MCADDR, | 788 | RTNLGRP_IPV6_MCADDR, |
| 785 | #define RTNLGRP_IPV6_MCADDR RTNLGRP_IPV6_MCADDR | 789 | #define RTNLGRP_IPV6_MCADDR RTNLGRP_IPV6_MCADDR |
| 790 | RTNLGRP_IPV6_ACADDR, | ||
| 791 | #define RTNLGRP_IPV6_ACADDR RTNLGRP_IPV6_ACADDR | ||
| 786 | __RTNLGRP_MAX | 792 | __RTNLGRP_MAX |
| 787 | }; | 793 | }; |
| 788 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) | 794 | #define RTNLGRP_MAX (__RTNLGRP_MAX - 1) |