From: Tobias Brunner Date: Sun, 16 Jun 2013 08:49:25 +0000 (+0200) Subject: kernel-pfroute: Properly install routes with interface and gateway X-Git-Tag: 5.1.0dr1~80^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f58f8bf4097a2e30ebf4a70c762824577ea8d11f;p=thirdparty%2Fstrongswan.git kernel-pfroute: Properly install routes with interface and gateway --- diff --git a/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c b/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c index d6fd33a445..540bce5d1f 100644 --- a/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c +++ b/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c @@ -510,7 +510,7 @@ static void process_link(private_kernel_pfroute_net_t *this, { enumerator_t *enumerator; iface_entry_t *iface; - bool roam = FALSE, found = FALSE;; + bool roam = FALSE, found = FALSE; this->lock->write_lock(this->lock); enumerator = this->ifaces->create_enumerator(this->ifaces); @@ -1051,13 +1051,14 @@ static status_t manage_route(private_kernel_pfroute_net_t *this, int op, dst->get_family(dst), prefixlen); } break; - case RTAX_GATEWAY: - /* interface name seems to replace gateway on OS X */ + case RTAX_IFP: if (if_name) { - add_rt_ifname(&msg.hdr, RTA_GATEWAY, if_name); + add_rt_ifname(&msg.hdr, RTA_IFP, if_name); } - else if (gateway) + break; + case RTAX_GATEWAY: + if (gateway) { add_rt_addr(&msg.hdr, RTA_GATEWAY, gateway); }