RTAX_DST
case RTAX_DST:
(hdr->rtm_addrs & (1 << RTAX_DST)) == 0 ||
if (getaddr(RTAX_DST, *argv, nrflags))
if (so[RTAX_DST].ss_len == 0) {
so[RTAX_DST].ss_family != so[RTAX_NETMASK].ss_family) {
case RTAX_DST:
if (idx == RTAX_DST && (q = strchr(str, '/')) != NULL)
if (idx == RTAX_DST)
if (q != NULL && idx == RTAX_DST) {
NEXTADDR(RTA_DST, so[RTAX_DST]);
routename((struct sockaddr *)&so[RTAX_DST]));
if (sp[RTAX_DST])
(void)printf("destination: %s\n", routename(sp[RTAX_DST]));
if (getaddr(RTAX_DST, *++argv, nrflags))
struct sockaddr *dst = get_addr(so, rtm_addrs, RTAX_DST);
#define INFO_DST(I) ((I)->rti_info[RTAX_DST])
info.rti_info[RTAX_DST] = (struct sockaddr *)&sin;
struct sockaddr *dst = (struct sockaddr *)info->rti_info[RTAX_DST];
.rti_info[RTAX_DST] = dst,
info->rti_ifa = ifaof_ifpforaddr(info->rti_info[RTAX_DST], info->rti_ifp);
dst = info->rti_info[RTAX_DST];
KASSERT(info->rti_info[RTAX_DST] != NULL, (":%s: RTAX_DST must be supplied", __func__));
error = rnh->rnh_set_nh_pfxflags(rnh->rib_fibnum, info->rti_info[RTAX_DST],
rt = (struct rtentry *)rnh->rnh_lookup(info->rti_info[RTAX_DST],
dst = info->rti_info[RTAX_DST];
rt = lookup_prefix_bysa(rnh, info->rti_info[RTAX_DST],
dst = info->rti_info[RTAX_DST];
dst = info->rti_info[RTAX_DST];
info.rti_info[RTAX_DST] = ia;
saf = info.rti_info[RTAX_DST]->sa_family;
dst_sa = (struct sockaddr_in *)info->rti_info[RTAX_DST];
info->rti_info[RTAX_DST] = (struct sockaddr *)dst_sa;
dst_sa = (struct sockaddr_in6 *)info->rti_info[RTAX_DST];
info->rti_info[RTAX_DST] = sa;
if (info->rti_info[RTAX_DST] == NULL) {
switch (info->rti_info[RTAX_DST]->sa_family) {
struct sockaddr *sa = rtinfo->rti_info[RTAX_DST];
info.rti_info[RTAX_DST] = &dst.sa;
sa = info->rti_info[RTAX_DST];
info.rti_info[RTAX_DST] = w->dst;
switch (info->rti_info[RTAX_DST]->sa_family) {
saf = info->rti_info[RTAX_DST]->sa_family;
saf = info->rti_info[RTAX_DST]->sa_family;
info->rti_info[RTAX_DST], &rnh->head);
info->rti_info[RTAX_DST],
ifa = ifa_ifwithnet(info->rti_info[RTAX_DST], 1,
int family = info->rti_info[RTAX_DST]->sa_family;
info->rti_info[RTAX_DST] = &sa_dst.sa;
[RTAX_DST] = (struct sockaddr *)dst,
[RTAX_DST] = (struct sockaddr *)&dst,
info.rti_info[RTAX_DST] = ifa->ifa_addr;
rtinfo.rti_info[RTAX_DST] = (struct sockaddr *)&dst;
[RTAX_DST] = (struct sockaddr *)dst,
info->rti_info[RTAX_DST] = (struct sockaddr *)sdl_ipfwcmd;
info.rti_info[RTAX_DST] = (struct sockaddr *)&defdst;
info.rti_info[RTAX_DST] = (struct sockaddr *)&defdst;
protrusion = p_sockaddr("destination", addr[RTAX_DST],
if (sa[RTAX_DST] && sa[RTAX_GATEWAY]) {
p_sockaddr(arg->prompt, sa[RTAX_DST], sa[RTAX_NETMASK], 20);
sa[RTAX_DST] && sa[RTAX_GATEWAY] &&
(sa[RTAX_DST]->sa_family == AF_INET
|| sa[RTAX_DST]->sa_family == AF_INET6
ncprange_setsa(&range, sa[RTAX_DST], sa[RTAX_NETMASK]);
ncprange_setsa(&range, sa[RTAX_DST], sa[RTAX_NETMASK]);
if (sa[RTAX_DST] && (sa[RTAX_DST]->sa_family == AF_INET
|| sa[RTAX_DST]->sa_family == AF_INET6
ncprange_setsa(&dst, sa[RTAX_DST], sa[RTAX_NETMASK]);
rt_Update(bundle, sa[RTAX_DST], sa[RTAX_GATEWAY], sa[RTAX_NETMASK],
if (rta[RTAX_DST] == NULL) {
if (rta[RTAX_DST]->sin6_family != AF_INET6) {
if (IN6_IS_ADDR_LINKLOCAL(&rta[RTAX_DST]->sin6_addr)) {
if (IN6_ARE_ADDR_EQUAL(&rta[RTAX_DST]->sin6_addr, &in6addr_loopback)) {
if (IN6_IS_ADDR_MULTICAST(&rta[RTAX_DST]->sin6_addr)) {
if (!rta[RTAX_DST] || !rta[RTAX_GATEWAY]) {
if (rt_del(rta[RTAX_DST], rta[RTAX_GATEWAY],
if ((dst = rti_info[RTAX_DST]) == NULL ||
return (&SIN6(rti_info[RTAX_DST])->sin6_addr);