Subject: Re: CVS commit: syssrc
To: None <thorpej@zembu.com>
From: None <itojun@iijlab.net>
List: tech-net
Date: 07/06/2000 08:09:08
> > ... or ip_mroute.c should be converted to use encap_attach{,_func}()?
>That would be another way, yes. However...
>The vifs are only used by mrouted(8) to create v4-in-v4 tunnels per the
>`tunnel' keyword in mrouted.conf. We could conceivably rip the `tunnel'
>support out of mrouted(8) completely, use `gif' interfaces exclusively to
>configure the tunnels, which should work using mrouted.conf's `phyint'
>keyword.
>...this would certainly clean up some code that is in desperate need
>of cleaning up.
are you sure that mrouted is the only customer of vif? i'm not
an multicast (specifically, v4) expert, but there could be someone
using it, so i thought that rewriting ip_mroute.c is better than
rewriting mrouted.
> > the current code (encap4_input) has last-resort fallback case at the
> > end, so there should be no problem.
>Right, the issue is when something else (e.g. `gif') adds a tunnel that
>conflicts with an MRT tunnel or vice-versa ... if two conflicting `gif's
>are configured, and error is returned, but the check is not done if a
>conflict is caused by MRT, so the MRT path silently fails.
>(Although it may `work' by sheer coincidence, now that I think about it :-)
I can think of two differences (maybe more):
- m->m_pkthdr.rcvif will be different
- sanity check logic is different (gif is more strict)
other than those, they should work okay even if we configure the
same address pair for vif and gif.
itojun