"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/config.c" between
mrouted-4.3.tar.gz and mrouted-4.4.tar.gz

About: mrouted is an implementation of the DVMRP multicast routing protocol.

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

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)