Download raw body.
rad(8): fix carp
This is the correct idiom to get the mac address of ethernet-like
network interfaces.
Sorry, this was my fault to not spot it earlier.
OK?
diff --git frontend.c frontend.c
index e0beb335295..042cee9908e 100644
--- frontend.c
+++ frontend.c
@@ -777,8 +777,9 @@ merge_ra_interface(char *if_name, char *conf_name, struct ifaddrs *ifap)
link_state =
((struct if_data*)ifa->ifa_data)->ifi_link_state;
sdl = (struct sockaddr_dl *)ifa->ifa_addr;
- if (sdl->sdl_type == IFT_ETHER &&
- sdl->sdl_alen == ETHER_ADDR_LEN) {
+ if (sdl != NULL && (sdl->sdl_type == IFT_ETHER ||
+ sdl->sdl_type == IFT_CARP) && sdl->sdl_alen ==
+ ETHER_ADDR_LEN) {
has_hw_addr = 1;
memcpy(&hw_addr, LLADDR(sdl), ETHER_ADDR_LEN);
}
--
In my defence, I have been left unsupervised.
rad(8): fix carp