#include <string.h>
#include <unistd.h>
-#include "vlog.h"
-
-VLOG_DEFINE_THIS_MODULE(route_table);
+#include "util.h"
static int pid;
static unsigned int register_count = 0;
for (i = 1; i; i <<= 1) {
if (rtm->rtm_addrs & i) {
if (i == RTA_IFP && sa->sa_family == AF_LINK &&
- ((struct sockaddr_dl *)sa)->sdl_nlen) {
- ifp = (struct sockaddr_dl *)sa;
+ ALIGNED_CAST(struct sockaddr_dl *, sa)->sdl_nlen) {
+ ifp = ALIGNED_CAST(struct sockaddr_dl *, sa);
namelen = ifp->sdl_nlen;
if (namelen > IFNAMSIZ - 1)
namelen = IFNAMSIZ - 1;
name[namelen] = '\0';
return true;
}
+#if defined(__FreeBSD__)
sa = (struct sockaddr *)((char *)sa + SA_SIZE(sa));
+#elif defined(__NetBSD__)
+ sa = (struct sockaddr *)((char *)sa + RT_ROUNDUP(sa->sa_len));
+#else
+#error unimplemented
+#endif
}
}
return false;
}
+uint64_t
+route_table_get_change_seq(void)
+{
+ return 0;
+}
+
void
-route_table_register()
+route_table_register(void)
{
if (!register_count)
{
}
void
-route_table_unregister()
+route_table_unregister(void)
{
register_count--;
}