version 1.163, 2016/04/25 14:30:42 |
version 1.164, 2016/04/25 14:38:08 |
Line 549 rtredirect(const struct sockaddr *dst, c |
|
Line 549 rtredirect(const struct sockaddr *dst, c |
|
* Smash the current notion of the gateway to |
* Smash the current notion of the gateway to |
* this destination. Should check about netmask!!! |
* this destination. Should check about netmask!!! |
*/ |
*/ |
rt->rt_flags |= RTF_MODIFIED; |
error = rt_setgate(rt, gateway); |
flags |= RTF_MODIFIED; |
if (error == 0) { |
|
rt->rt_flags |= RTF_MODIFIED; |
|
flags |= RTF_MODIFIED; |
|
} |
stat = &rtstat.rts_newgateway; |
stat = &rtstat.rts_newgateway; |
rt_setgate(rt, gateway); |
|
} |
} |
} else |
} else |
error = EHOSTUNREACH; |
error = EHOSTUNREACH; |
Line 825 rtrequest1(int req, struct rt_addrinfo * |
|
Line 827 rtrequest1(int req, struct rt_addrinfo * |
|
} |
} |
|
|
rt_set_ifa(rt, ifa); |
rt_set_ifa(rt, ifa); |
if (info->rti_info[RTAX_TAG] != NULL) |
if (info->rti_info[RTAX_TAG] != NULL) { |
rt_settag(rt, info->rti_info[RTAX_TAG]); |
const struct sockaddr *tag; |
|
tag = rt_settag(rt, info->rti_info[RTAX_TAG]); |
|
if (tag == NULL) |
|
senderr(ENOBUFS); |
|
} |
RT_DPRINTF("rt->_rt_key = %p\n", (void *)rt->_rt_key); |
RT_DPRINTF("rt->_rt_key = %p\n", (void *)rt->_rt_key); |
if (info->rti_info[RTAX_IFP] != NULL && |
if (info->rti_info[RTAX_IFP] != NULL && |
(ifa2 = ifa_ifwithnet(info->rti_info[RTAX_IFP])) != NULL && |
(ifa2 = ifa_ifwithnet(info->rti_info[RTAX_IFP])) != NULL && |