Subject: IPF 4.1.6 -- NFS Client hangs
To: None <current-users@netbsd.org>
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
List: current-users
Date: 03/05/2005 17:10:03
Since IPFilter was upgraded to 4.1.6 on Feb 19, 2005 I get NFS
client errors `nfs server XXX: not responding' after some time.
I tracked it down to sys/dist/ipf/netinet/fil.c::frpr_udpcommon().
If I remove the `frpr_pullup()' call all goes well.
Does it ring any bells?
--
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)
/etc/rc.conf: ipnat=YES
/etc/ipnat.conf: map ex0 10.0.1.0/24 -> 0/32 proxy port ftp ftp/tcp
map ex0 10.0.1.0/24 -> 0/32 portmap tcp/udp 1024:65535
map ex0 10.0.1.0/24 -> 0/32
No host on 10.0.1.X is involved.
Index: fil.c
===================================================================
RCS file: /cvsroot/src/sys/dist/ipf/netinet/fil.c,v
retrieving revision 1.10
diff -u -1 -0 -r1.10 fil.c
--- fil.c 1 Mar 2005 13:41:43 -0000 1.10
+++ fil.c 5 Mar 2005 16:03:06 -0000
@@ -1073,24 +1073,26 @@
/* ------------------------------------------------------------------------ */
static INLINE void frpr_udpcommon(fin)
fr_info_t *fin;
{
udphdr_t *udp;
fr_ip_t *fi;
fi = &fin->fin_fi;
fi->fi_flx |= FI_TCPUDP;
+/*
if (frpr_pullup(fin, sizeof(*udp)) == -1) {
fi->fi_flx |= FI_SHORT;
return;
}
+*/
if (!fin->fin_off && (fin->fin_dlen > 3)) {
udp = fin->fin_dp;
fin->fin_sport = ntohs(udp->uh_sport);
fin->fin_dport = ntohs(udp->uh_dport);
}
}