diff options
| author | Roy Marples <roy@marples.name> | 2008-12-01 16:56:56 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2008-12-01 16:56:56 +0000 |
| commit | fb10befc1caa5d518da26da9822f030bda082cfd (patch) | |
| tree | 3bee8c796bbbef5ae0f272f3187da2d18cd85c50 /configure.c | |
| parent | b96011558a4c5a2a2749e11075d70de9a914bf56 (diff) | |
| download | dhcpcd-fb10befc1caa5d518da26da9822f030bda082cfd.tar.xz | |
Add desc_route to save some bytes.
Diffstat (limited to 'configure.c')
| -rw-r--r-- | configure.c | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/configure.c b/configure.c index 768aa964..a5c9903d 100644 --- a/configure.c +++ b/configure.c @@ -217,26 +217,37 @@ find_route(struct rt *rts, const struct rt *r, struct rt **lrt, return NULL; } -static int -n_route(struct rt *rt, const struct interface *iface) +static void +desc_route(int action, const struct rt *rt, const char *ifname) { char *addr; + const char *cmd; + + cmd = action == 1 ? "adding" : "deleting"; + addr = xstrdup(inet_ntoa(rt->dest)); + if (rt->gate.s_addr == INADDR_ANY) + syslog(LOG_DEBUG, "%s: %s route to %s/%d", ifname, cmd, + addr, inet_ntocidr(rt->net)); + else if (rt->gate.s_addr == rt->dest.s_addr && + rt->net.s_addr == INADDR_BROADCAST) + syslog(LOG_DEBUG, "%s: %s host route to %s", ifname, cmd, + addr); + else + syslog(LOG_DEBUG, "%s: %s route to %s/%d via %s", ifname, cmd, + addr, inet_ntocidr(rt->net), inet_ntoa(rt->gate)); + free(addr); +} +static int +n_route(struct rt *rt, const struct interface *iface) +{ /* Don't set default routes if not asked to */ if (rt->dest.s_addr == 0 && rt->net.s_addr == 0 && !(iface->state->options->options & DHCPCD_GATEWAY)) return -1; - addr = xstrdup(inet_ntoa(rt->dest)); - if (rt->gate.s_addr == INADDR_ANY) - syslog(LOG_DEBUG, "%s: adding route to %s/%d", - iface->name, addr, inet_ntocidr(rt->net)); - else - syslog(LOG_DEBUG, "%s: adding route to %s/%d via %s", - iface->name, addr, - inet_ntocidr(rt->net), inet_ntoa(rt->gate)); - free(addr); + desc_route(1, rt, iface->name); if (!add_route(iface, &rt->dest, &rt->net, &rt->gate, iface->metric)) return 0; if (errno == EEXIST) { @@ -248,7 +259,7 @@ n_route(struct rt *rt, const struct interface *iface) else return -1; } - syslog(LOG_ERR, "add_route: %m"); + syslog(LOG_ERR, "%s: add_route: %m", iface->name); return -1; } @@ -273,28 +284,19 @@ c_route(struct rt *ort, struct rt *nrt, const struct interface *iface) del_route(ort->iface, &ort->dest, &ort->net, &ort->gate, ort->iface->metric); if (!add_route(iface, &nrt->dest, &nrt->net, &nrt->gate, iface->metric)) return 0; - syslog(LOG_ERR, "add_route: %m"); + syslog(LOG_ERR, "%s: add_route: %m", iface->name); return -1; } static int d_route(struct rt *rt, const struct interface *iface, int metric) { - char *addr; int retval; - addr = xstrdup(inet_ntoa(rt->dest)); - if (rt->gate.s_addr == INADDR_ANY) - syslog(LOG_DEBUG, "%s: deleting route %s/%d", iface->name, - addr, inet_ntocidr(rt->net)); - else - syslog(LOG_DEBUG, "%s: deleting route %s/%d via %s", - iface->name, addr, - inet_ntocidr(rt->net), inet_ntoa(rt->gate)); - free(addr); + desc_route(-1, rt, iface->name); retval = del_route(iface, &rt->dest, &rt->net, &rt->gate, metric); if (retval != 0 && errno != ENOENT && errno != ESRCH) - syslog(LOG_ERR," del_route: %m"); + syslog(LOG_ERR,"%s: del_route: %m", iface->name); return retval; } |
