Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/route.c
Show First 20 Lines • Show All 843 Lines • ▼ Show 20 Lines | if (rt_mpath_deldup(rto, rt) == 0) | ||||
panic ("rtrequest1: rt_mpath_deldup"); | panic ("rtrequest1: rt_mpath_deldup"); | ||||
*perror = 0; | *perror = 0; | ||||
rn = (struct radix_node *)rt; | rn = (struct radix_node *)rt; | ||||
return (rn); | return (rn); | ||||
} | } | ||||
#endif | #endif | ||||
void | void | ||||
rt_setmetrics(const struct rt_addrinfo *info, struct rtentry *rt) | |||||
{ | |||||
if (info->rti_mflags & RTV_WEIGHT) | |||||
rt->rt_weight = info->rti_rmx->rmx_weight; | |||||
/* Kernel -> userland timebase conversion. */ | |||||
if (info->rti_mflags & RTV_EXPIRE) | |||||
rt->rt_expire = info->rti_rmx->rmx_expire ? | |||||
info->rti_rmx->rmx_expire - time_second + time_uptime : 0; | |||||
} | |||||
void | |||||
rt_maskedcopy(struct sockaddr *src, struct sockaddr *dst, struct sockaddr *netmask) | rt_maskedcopy(struct sockaddr *src, struct sockaddr *dst, struct sockaddr *netmask) | ||||
{ | { | ||||
u_char *cp1 = (u_char *)src; | u_char *cp1 = (u_char *)src; | ||||
u_char *cp2 = (u_char *)dst; | u_char *cp2 = (u_char *)dst; | ||||
u_char *cp3 = (u_char *)netmask; | u_char *cp3 = (u_char *)netmask; | ||||
u_char *cplim = cp2 + *cp3; | u_char *cplim = cp2 + *cp3; | ||||
u_char *cplim2 = cp2 + *cp1; | u_char *cplim2 = cp2 + *cp1; | ||||
▲ Show 20 Lines • Show All 288 Lines • Show Last 20 Lines |