Subject: About kern/5508
To: None <tech-net@NetBSD.ORG>
From: R. C. Dowdeswell <elric@arioch.imrryr.org>
List: tech-net
Date: 07/16/1998 16:41:40
Well, I submitted a bit of a PR a few weeks ago about the way that PFIL_HOOKS
in ip_output.c respond to having the packet taken away from them. (Basically,
to sum up, the code looks like:
rv = pfh->pfil_func(ip, hlen, ifp, 1, &m1);
if (rv) {
error = EHOSTUNREACH;
goto done;
}
ip = mtod(m = m1, struct ip *);
but there are circumstances when the IPFilter code changes m1 to NULL and
returns successfully. This causes the kernel to panic. IPFilter does this
anytime it encounters a rule which reroutes an outbound packet -- like:
pass out on de0 to de1 all
But anyway, the question that I have is that I ran into a problem recently
that this was the easiest way to solve. That is I wanted my computer to have
an alias that was on a separate subnet that went out of a different ISP
(we are changing to DSL, but have a frame that still works.) Unfortunately
the alias was going out the default interface and that ISP killed the packets
as being spoofed. I couldn't see any way to route based on source, so I
used ipf
pass out on fxp0 to fxp0:<frame router> from <old address> to any
Anyway, is there a better solution for this problem?
.. Roland