int kernel_delete_ipv4(struct prefix *p, struct rib *rib) { int route; if (zserv_privs.change(ZPRIVS_RAISE)) zlog(NULL, LOG_ERR, "Can't raise privileges"); route = kernel_rtm_ipv4(RTM_DELETE, p, rib, AF_INET); if (zserv_privs.change(ZPRIVS_LOWER)) zlog(NULL, LOG_ERR, "Can't lower privileges"); return route; }
static int kernel_rtm (int cmd, struct prefix *p, struct rib *rib) { switch (PREFIX_FAMILY(p)) { case AF_INET: return kernel_rtm_ipv4 (cmd, p, rib); case AF_INET6: return kernel_rtm_ipv6 (cmd, p, rib); } return 0; }
int kernel_delete_ipv4 (struct prefix *p, struct rib *rib) { return kernel_rtm_ipv4 (RTM_DELETE, p, rib, AF_INET); }
int kernel_add_ipv4 (struct prefix *p, struct rib *rib) { return kernel_rtm_ipv4 (RTM_ADD, p, rib, AF_INET); }