Rename netdev_*route to end in route4
Functions for IPv6 will be added soon afterwards. Also take the chance to check for address length in sgsnemu and only apply the route if the address matches. Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f
This commit is contained in:
parent
c43e887e9e
commit
2a1cedd2dc
12
lib/netdev.c
12
lib/netdev.c
|
@ -176,7 +176,7 @@ int netdev_setaddr4(const char *devname, struct in_addr *addr,
|
|||
/* On linux the route to the interface is set automatically
|
||||
on FreeBSD we have to do this manually */
|
||||
#if defined(__FreeBSD__) || defined (__APPLE__)
|
||||
netdev_addroute(dstaddr, addr, &this->netmask);
|
||||
netdev_addroute4(dstaddr, addr, &this->netmask);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -553,7 +553,7 @@ int netdev_addaddr6(const char *devname, struct in6_addr *addr,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int netdev_route(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask, int delete)
|
||||
static int netdev_route4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask, int delete)
|
||||
{
|
||||
int fd;
|
||||
#if defined(__linux__)
|
||||
|
@ -643,14 +643,14 @@ static int netdev_route(struct in_addr *dst, struct in_addr *gateway, struct in_
|
|||
return 0;
|
||||
}
|
||||
|
||||
int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask)
|
||||
int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask)
|
||||
{
|
||||
return netdev_route(dst, gateway, mask, 0);
|
||||
return netdev_route4(dst, gateway, mask, 0);
|
||||
}
|
||||
|
||||
int netdev_delroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask)
|
||||
int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask)
|
||||
{
|
||||
return netdev_route(dst, gateway, mask, 1);
|
||||
return netdev_route4(dst, gateway, mask, 1);
|
||||
}
|
||||
|
||||
#include <ifaddrs.h>
|
||||
|
|
|
@ -65,8 +65,8 @@ extern int netdev_addaddr4(const char *devname, struct in_addr *addr,
|
|||
extern int netdev_addaddr6(const char *devname, struct in6_addr *addr,
|
||||
struct in6_addr *dstaddr, int prefixlen);
|
||||
|
||||
extern int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask);
|
||||
extern int netdev_delroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask);
|
||||
extern int netdev_addroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask);
|
||||
extern int netdev_delroute4(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask);
|
||||
|
||||
extern int netdev_ip_local_get(const char *devname, struct in46_prefix *prefix_list,
|
||||
size_t prefix_size, int flags);
|
||||
|
|
|
@ -276,7 +276,7 @@ int tun_free(struct tun_t *tun)
|
|||
{
|
||||
|
||||
if (tun->routes) {
|
||||
netdev_delroute(&tun->dstaddr.v4, &tun->addr.v4, &tun->netmask);
|
||||
netdev_delroute4(&tun->dstaddr.v4, &tun->addr.v4, &tun->netmask);
|
||||
}
|
||||
|
||||
if (tun->fd >= 0) {
|
||||
|
|
|
@ -1516,9 +1516,11 @@ static int create_pdp_conf(struct pdp_t *pdp, void *cbp, int cause)
|
|||
/* printf("Setting up interface and routing\n"); */
|
||||
tun_addaddr(tun, &addr[i], NULL, prefixlen);
|
||||
if (options.defaultroute) {
|
||||
struct in_addr rm;
|
||||
rm.s_addr = 0;
|
||||
netdev_addroute(&rm, &addr[i].v4, &rm);
|
||||
if (in46a_is_v4(&addr[i])) {
|
||||
struct in_addr rm;
|
||||
rm.s_addr = 0;
|
||||
netdev_addroute4(&rm, &addr[i].v4, &rm);
|
||||
}
|
||||
}
|
||||
if (options.ipup)
|
||||
tun_runscript(tun, options.ipup);
|
||||
|
@ -1718,9 +1720,11 @@ int main(int argc, char **argv)
|
|||
if ((options.createif) && (options.netaddr.len)) {
|
||||
tun_addaddr(tun, &options.netaddr, NULL, options.prefixlen);
|
||||
if (options.defaultroute) {
|
||||
struct in_addr rm;
|
||||
rm.s_addr = 0;
|
||||
netdev_addroute(&rm, &options.netaddr.v4, &rm);
|
||||
if (in46a_is_v4(&options.netaddr)) {
|
||||
struct in_addr rm;
|
||||
rm.s_addr = 0;
|
||||
netdev_addroute4(&rm, &options.netaddr.v4, &rm);
|
||||
}
|
||||
}
|
||||
if (options.ipup)
|
||||
tun_runscript(tun, options.ipup);
|
||||
|
|
Loading…
Reference in New Issue