151 |
|
|
152 |
/* Add or delete a route, depending on action. */ |
/* Add or delete a route, depending on action. */ |
153 |
|
|
154 |
static void INET_setroute(int action, char **args) |
static NOINLINE void INET_setroute(int action, char **args) |
155 |
{ |
{ |
156 |
struct rtentry rt; |
struct rtentry rt; |
157 |
const char *netmask = NULL; |
const char *netmask = NULL; |
336 |
|
|
337 |
#if ENABLE_FEATURE_IPV6 |
#if ENABLE_FEATURE_IPV6 |
338 |
|
|
339 |
static void INET6_setroute(int action, char **args) |
static NOINLINE void INET6_setroute(int action, char **args) |
340 |
{ |
{ |
341 |
struct sockaddr_in6 sa6; |
struct sockaddr_in6 sa6; |
342 |
struct in6_rtmsg rt; |
struct in6_rtmsg rt; |
423 |
if (devname) { |
if (devname) { |
424 |
struct ifreq ifr; |
struct ifreq ifr; |
425 |
memset(&ifr, 0, sizeof(ifr)); |
memset(&ifr, 0, sizeof(ifr)); |
426 |
strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name)); |
strncpy_IFNAMSIZ(ifr.ifr_name, devname); |
427 |
xioctl(skfd, SIOGIFINDEX, &ifr); |
xioctl(skfd, SIOGIFINDEX, &ifr); |
428 |
rt.rtmsg_ifindex = ifr.ifr_ifindex; |
rt.rtmsg_ifindex = ifr.ifr_ifindex; |
429 |
} |
} |