config.c (mrouted-4.3) | : | config.c (mrouted-4.4) | ||
---|---|---|---|---|
skipping to change at line 140 | skipping to change at line 140 | |||
/* | /* | |||
* Ignore any kernel interface that is disabled, or connected to the | * Ignore any kernel interface that is disabled, or connected to the | |||
* same subnet as one already installed in the uvifs[] array. | * same subnet as one already installed in the uvifs[] array. | |||
*/ | */ | |||
static vifi_t check_vif(struct uvif *v) | static vifi_t check_vif(struct uvif *v) | |||
{ | { | |||
struct uvif *uv; | struct uvif *uv; | |||
vifi_t vifi; | vifi_t vifi; | |||
UVIF_FOREACH(vifi, uv) { | UVIF_FOREACH(vifi, uv) { | |||
if (v->uv_flags & VIFF_TUNNEL) | ||||
continue; | ||||
if (v->uv_flags & VIFF_DISABLED) { | if (v->uv_flags & VIFF_DISABLED) { | |||
logit(LOG_DEBUG, 0, "Skipping %s, disabled", v->uv_name); | logit(LOG_DEBUG, 0, "Skipping %s, disabled", v->uv_name); | |||
return NO_VIF; | return NO_VIF; | |||
} | } | |||
if ((v->uv_lcl_addr & uv->uv_subnetmask) == uv->uv_subnet || | if ((v->uv_lcl_addr & uv->uv_subnetmask) == uv->uv_subnet || | |||
(uv->uv_subnet & v->uv_subnetmask) == v->uv_subnet) { | (uv->uv_subnet & v->uv_subnetmask) == v->uv_subnet) { | |||
logit(LOG_WARNING, 0, "ignoring %s, same subnet as %s", | logit(LOG_WARNING, 0, "ignoring %s, same subnet as %s", | |||
v->uv_name, uv->uv_name); | v->uv_name, uv->uv_name); | |||
return NO_VIF; | return NO_VIF; | |||
skipping to change at line 197 | skipping to change at line 200 | |||
vifi_t vifi; | vifi_t vifi; | |||
TAILQ_FOREACH_SAFE(v, &vifs, uv_link, tmp) { | TAILQ_FOREACH_SAFE(v, &vifs, uv_link, tmp) { | |||
vifi = check_vif(v); | vifi = check_vif(v); | |||
if (vifi == NO_VIF || install_uvif(v)) { | if (vifi == NO_VIF || install_uvif(v)) { | |||
TAILQ_REMOVE(&vifs, v, uv_link); | TAILQ_REMOVE(&vifs, v, uv_link); | |||
free(v); | free(v); | |||
continue; | continue; | |||
} | } | |||
logit(LOG_INFO, 0, "Installing %s (%s on subnet %s) as VIF #%u, rate %d p | if (v->uv_flags & VIFF_TUNNEL) | |||
ps", | logit(LOG_INFO, 0, "Installing tunnel %s from %s to %s as VIF #%u, ra | |||
v->uv_name, inet_fmt(v->uv_lcl_addr, s1, sizeof(s1)), | te %d pps", | |||
inet_fmts(v->uv_subnet, v->uv_subnetmask, s2, sizeof(s2)), | v->uv_name, inet_fmt(v->uv_lcl_addr, s1, sizeof(s1)), | |||
vifi, v->uv_rate_limit); | inet_fmt(v->uv_rmt_addr, s2, sizeof(s2)), | |||
vifi, v->uv_rate_limit); | ||||
else | ||||
logit(LOG_INFO, 0, "Installing %s (%s on subnet %s) as VIF #%u, rate | ||||
%d pps", | ||||
v->uv_name, inet_fmt(v->uv_lcl_addr, s1, sizeof(s1)), | ||||
inet_fmts(v->uv_subnet, v->uv_subnetmask, s2, sizeof(s2)), | ||||
vifi, v->uv_rate_limit); | ||||
} | } | |||
/* | /* | |||
* XXX: one future extension may be to keep this for adding/removing | * XXX: one future extension may be to keep this for adding/removing | |||
* dynamic interfaces at runtime. Now we re-init and let SIGHUP | * dynamic interfaces at runtime. Now we re-init and let SIGHUP | |||
* rebuild it to recheck since we tear down all vifs anyway. | * rebuild it to recheck since we tear down all vifs anyway. | |||
*/ | */ | |||
TAILQ_INIT(&vifs); | TAILQ_INIT(&vifs); | |||
} | } | |||
skipping to change at line 300 | skipping to change at line 309 | |||
TAILQ_INSERT_TAIL(&vifs, uv, uv_link); | TAILQ_INSERT_TAIL(&vifs, uv, uv_link); | |||
} | } | |||
freeifaddrs(ifap); | freeifaddrs(ifap); | |||
} | } | |||
/** | /** | |||
* Local Variables: | * Local Variables: | |||
* indent-tabs-mode: t | * indent-tabs-mode: t | |||
* c-file-style: "ellemtel" | * c-file-style: "cc-mode" | |||
* c-basic-offset: 4 | ||||
* End: | * End: | |||
*/ | */ | |||
End of changes. 3 change blocks. | ||||
7 lines changed or deleted | 16 lines changed or added |