Solved?: Re: ipfw2 and fwd in Darwin
Solved?: Re: ipfw2 and fwd in Darwin
- Subject: Solved?: Re: ipfw2 and fwd in Darwin
- From: Giuliano Gavazzi <email@hidden>
- Date: Thu, 16 Oct 2008 14:13:51 +0200
After a day of poking into the FreeBSD sources and printf-ing here and
there, I might have found the solution. Well, at least now ipfw fwd
works and the system does not seem to suffer...
The file to change is bsd/netinet/ip_output.c
diff -u ip_output.c ip_output.c.xnu-1228.7.58
--- ip_output.c 2008-10-16 12:42:21.000000000 +0200
+++ ip_output.c.xnu-1228.7.58 2008-10-16 12:48:24.000000000 +0200
@@ -1121,7 +1121,7 @@
dst->sin_addr.s_addr)
break;
}
- if (ia_fw) { //the arg was ia, presumably wrong as it would brake
fwd
+ if (ia) {
/* tell ip_input "dont filter" */
struct m_tag *fwd_tag;
struct ip_fwd_tag *ipfwd_tag;
this makes the source more consistent with the original FreeBSD one.
Might have been originated by the changed name of the ia variable in
the Darwin source, change that was not brought forward in the next
block of code.
Reported to Apple but someone in the list might know if this has any
ill side-effects.
Now time to debug the panic in ipfw_chk for unknown opcode.
Thanks
Giuliano
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden