This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 ) Change subject: Rename netdev_*route to end in route4 ...................................................................... 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 --- M lib/netdev.c M lib/netdev.h M lib/tun.c M sgsnemu/sgsnemu.c 4 files changed, 19 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/24/17824/1 diff --git a/lib/netdev.c b/lib/netdev.c index 19c5c62..4d171c9 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -176,7 +176,7 @@ /* 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 @@ 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 @@ 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> diff --git a/lib/netdev.h b/lib/netdev.h index 74c42da..5dab27f 100644 --- a/lib/netdev.h +++ b/lib/netdev.h @@ -65,8 +65,8 @@ 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); diff --git a/lib/tun.c b/lib/tun.c index 1aeed55..c771b92 100644 --- a/lib/tun.c +++ b/lib/tun.c @@ -276,7 +276,7 @@ { 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) { diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 6b05ac5..c28df52 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1516,9 +1516,11 @@ /* 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 @@ 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); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ic6c1b3c11c56f047e6e8c6f1040257fd62afea0f Gerrit-Change-Number: 17824 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200415/fa9e090c/attachment.htm>