#include "zebra_vrf.h"
#include "zebra/interface.h"
#include "zebra/rib.h"
+#include "zebra/rt.h"
#include "zebra/zserv.h"
#include "zebra/redistribute.h"
#include "zebra/debug.h"
inet_pton (AF_INET, buf, &ipv4_ll);
ipv6_ll_address_to_mac(address, (u_char *)mac);
- netlink_neigh_update (add ? RTM_NEWNEIGH : RTM_DELNEIGH,
- ifp->ifindex, ipv4_ll.s_addr, mac, 6);
+ kernel_neigh_update (add, ifp->ifindex, ipv4_ll.s_addr, mac, 6);
}
static void
return 0;
}
-int netlink_neigh_update (int cmd, int ifindex, uint32_t addr, char *lla, int llalen)
+int kernel_neigh_update (int a, int b, uint32_t c, char *d, int e)
{
return 0;
}
extern int kernel_add_route (struct prefix_ipv4 *, struct in_addr *, int, int);
extern int kernel_address_add_ipv4 (struct interface *, struct connected *);
extern int kernel_address_delete_ipv4 (struct interface *, struct connected *);
+extern int kernel_neigh_update (int, int, uint32_t, char *, int);
#ifdef HAVE_IPV6
extern int kernel_add_ipv6 (struct prefix *, struct rib *);
}
}
-int
+static int
netlink_neigh_update (int cmd, int ifindex, uint32_t addr, char *lla, int llalen)
{
struct {
return netlink_address (RTM_DELADDR, AF_INET, ifp, ifc);
}
+int
+kernel_neigh_update (int add, int ifindex, uint32_t addr, char *lla, int llalen)
+{
+ return netlink_neigh_update(add ? RTM_NEWNEIGH : RTM_DELNEIGH, ifindex, addr,
+ lla, llalen);
+}
extern struct thread_master *master;
extern const char *
nl_rtproto_to_str (u_char rtproto);
-int
-netlink_neigh_update (int cmd, int ifindex, uint32_t addr, char *lla, int llalen);
-
extern int interface_lookup_netlink (struct zebra_ns *zns);
extern int netlink_route_read (struct zebra_ns *zns);
return route;
}
#endif /* HAVE_IPV6 */
+
+int
+kernel_neigh_update (int add, int ifindex, uint32_t addr, char *lla, int llalen)
+{
+ /* TODO */
+ return 0;
+}