struct sockaddr route_dst = { 2, PF_ROUTE, };
struct sockaddr route_src = { 2, PF_ROUTE, };
struct sockaddr route_dst = { 2, PF_ROUTE, };
struct sockaddr route_src = { 2, PF_ROUTE, };
m_copydata(m, 0, len, (caddr_t)rtm);
m_copydata(m, 0, len, (caddr_t)rtm);
rtm->rtm_pid = curproc->p_pid;
info.rti_addrs = rtm->rtm_addrs;
rt_xaddrs((caddr_t)(rtm + 1), len + (caddr_t)rtm, &info);
rtm->rtm_pid = curproc->p_pid;
info.rti_addrs = rtm->rtm_addrs;
rt_xaddrs((caddr_t)(rtm + 1), len + (caddr_t)rtm, &info);
/*
* Copy data from a buffer back into the indicated mbuf chain,
* starting "off" bytes from the beginning, extending the mbuf
/*
* Copy data from a buffer back into the indicated mbuf chain,
* starting "off" bytes from the beginning, extending the mbuf
ifam = mtod(m, struct ifa_msghdr *);
ifam->ifam_index = ifp->if_index;
ifam->ifam_metric = ifa->ifa_metric;
ifam = mtod(m, struct ifa_msghdr *);
ifam->ifam_index = ifp->if_index;
ifam->ifam_metric = ifa->ifa_metric;
-kinfo_rtable(op, where, given, arg, needed)
- int op, arg;
+sysctl_rtable(name, namelen, where, given, new, newlen)
+ int *name;
+ int namelen;
{
register struct radix_node_head *rnh;
int i, s, error = EINVAL;
{
register struct radix_node_head *rnh;
int i, s, error = EINVAL;
for (i = 1; i <= AF_MAX; i++)
if ((rnh = rt_tables[i]) && (af == 0 || af == i) &&
(error = rnh->rnh_walk(rnh->rnh_treetop,
for (i = 1; i <= AF_MAX; i++)
if ((rnh = rt_tables[i]) && (af == 0 || af == i) &&
(error = rnh->rnh_walk(rnh->rnh_treetop,
-int raw_init(),raw_usrreq(),raw_input(),raw_ctlinput();
+int raw_init(),raw_usrreq(),raw_input(),raw_ctlinput(), route_init();
raw_input, route_output, raw_ctlinput, 0,
route_usrreq,
raw_init, 0, 0, 0,
raw_input, route_output, raw_ctlinput, 0,
route_usrreq,
raw_init, 0, 0, 0,
}
};
int unp_externalize(), unp_dispose();
struct domain routedomain =
}
};
int unp_externalize(), unp_dispose();
struct domain routedomain =
- { PF_ROUTE, "route", 0, 0, 0,
+ { PF_ROUTE, "route", route_init, 0, 0,