Re: mbuf revision, testers/comments wanted.
Jeff Roberson wrote: > On Sun, 1 Feb 2009, Fabian Keil wrote: > > > Fabian Keil wrote: > > > >> Jeff Roberson wrote: > >> > >>> http://people.freebsd.org/~jeff/mbuf_ref2.diff > >> > >>> I have been experimenting with different revisions to the mbuf api to > >>> improve performance and simplify code. This patch is the first of > >>> several proposed steps towards those goals. The aim of this patch is > >>> two fold; > >> > >>> I would appreciate testing feedback from varied workloads to make > >>> sure there are no bugs before I go forward with this. I have tested > >>> only host oriented networking with a few drivers. It is not > >>> anticipated that there will be any significant incompatibilities > >>> introduced with this round but there is always that possibility. > > > >> 5) > >> Finally, I tested the patch on an IBM ThinPad R51. The kernel > >> hangs on boot, the last messages are (hand transcribed): > >> > >> iwi0: mem 0xc0214000-0xc0214fff irq 11 > >> at device 2.0 on pci2 iwi0: Reserved 0x1000 bytes for rid 0x10 type 3 > >> at 0xc0214000 iwi0: could not allocate rx mbuf > >> iwi0: could not allocate Rx ring > >> bpfdetach: was not attached > > > > Never mind, kernel and user land weren't completely in > > sync and this might be related to the recent wlan commits. > > I'll retry with an up-to-date user land. > > > > I have updated the patch here: > > http://people.freebsd.org/~jeff/mbuf_ref2.diff Building world failed for me with: cc -O2 -pipe -Wall -Wmissing-prototypes -Wno-uninitialized -Wstrict-prototypes -I/usr/src/sbin/pfctl/../../contrib/pf/pfctl -DE k-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/pfctl/../../sys f_ruleset.c In file included from /usr/src/sbin/pfctl/../../sys/contrib/pf/net/pf_ruleset.c:48: /usr/obj/usr/src/tmp/usr/include/sys/mbuf.h:131: error: expected specifier-qualifier-list before 'uma_zone_t' *** Error code 1 Stop in /usr/src/sbin/pfctl. *** Error code 1 Stop in /usr/src/sbin. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. Manually building from /usr/src/sbin worked, though. After resuming with make buildworld NO_CLEAN=YES, the next failure was: ===> usr.bin/netstat (all) cc -O2 -pipe -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/if.c cc -O2 -pipe -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/inet.c cc -O2 -pipe -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/main.c cc -O2 -pipe -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/mbuf.c In file included from /usr/src/usr.bin/netstat/mbuf.c:46: /usr/obj/usr/src/tmp/usr/include/sys/mbuf.h:131: error: expected specifier-qualifier-list before 'uma_zone_t' *** Error code 1 Stop in /usr/src/usr.bin/netstat. *** Error code 1 Stop in /usr/src/usr.bin. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. Again building from /usr/src/usr.bin worked. Resuming stopped with yet another similar error message but afterwards make buildworld NO_CLEAN=YES finished successfully. I haven't really investigated the problem yet, but it might have something to do with my make flags: f...@tp51 ~ $grep NO_ /etc/make.conf NO_BLUETOOTH= # do not build Bluetooth related stuff NO_FORTRAN=# do not build g77 and related libraries NO_I4B=# do not build isdn4bsd package NO_INET6= # do not build IPv6 related programs and libraries NO_IPFILTER= # do not build IP Filter package NO_KERBEROS= # do not build and install Kerberos 5 (KTH Heimdal) NO_LPR=# do not build lpr and related programs NO_MAILWRAPPER=# do not build the mailwrapper(8) MTA selector #NO_NIS=# do not build NIS support and related programs. NO_ATM=yes NO_VINUM=yes NO_OBJC=yes NO_SHAREDOCS=yes NO_PROFILE=yes NO_PORTDOCS=yes Commenting out the NO_INET6 line didn't make a difference. I'm using your patch on an IBM ThinPad R51 since three days and didn't notice any problems so far.
Re: kern/112722: [udp] IP v4 udp fragmented packet reject
Synopsis: [udp] IP v4 udp fragmented packet reject State-Changed-From-To: feedback->open State-Changed-By: rwatson State-Changed-When: Fri Feb 6 22:51:58 UTC 2009 State-Changed-Why: Transition to open: the original submitter is no longer using this configuration, so we'll need someone to attempt to reproduce it using a recent FreeBSD version and see where that leads. http://www.freebsd.org/cgi/query-pr.cgi?pr=112722 ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
RE: kern/112722: [udp] IP v4 udp fragmented packet reject
The following reply was made to PR kern/112722; it has been noted by GNATS. From: Kent Fox To: "rwat...@freebsd.org" , "freebsd-net@FreeBSD.org" Cc: Subject: RE: kern/112722: [udp] IP v4 udp fragmented packet reject Date: Mon, 2 Feb 2009 08:21:56 -0700 Thanks for the thought but we went back to OpenBSD and fixed our performanc= e issue with some kernel parameters. I'm sorry that I cannot help out and d= uplicate the problem as I no longer have that environment. The main issue w= as the forced reassembly of fragmented packets. When the ingress packet siz= e was maxed out, the egress with the tunnel encapsulation was too large and= the packet was discarded. We tried a smaller MTU on the ingress but we sti= ll could never make it work. Doing an IPsec tunnel with RDP was a sure way = of killing the connection. So what you have is C-->FW--->S. From C(= lient) the S(erver) there is an IPSec tunnel (all the way) and from C to FW= (firewall FreeBSD server) is another IPSec tunnel (tunnel on the intranet (= now GRE)). Hope that helps. Kent -Original Message- From: rwat...@freebsd.org [mailto:rwat...@freebsd.org]=20 Sent: Monday, February 02, 2009 4:49 AM To: Kent Fox; rwat...@freebsd.org; freebsd-net@FreeBSD.org Subject: Re: kern/112722: [udp] IP v4 udp fragmented packet reject Synopsis: [udp] IP v4 udp fragmented packet reject State-Changed-From-To: open->feedback State-Changed-By: rwatson State-Changed-When: Mon Feb 2 11:31:13 UTC 2009 State-Changed-Why:=20 Dear Kent: I apologize for the delay in response to this problem report. Could I ask you to: (1) Confirm the problem still exists, especially if you've moved forward to a more recent rev of FreeBSD. (2) Let me know a bit more about your firewall/ipsec/etc setup. In particular, if you can easily identify a minimalist setup to reproduce this problem. Do the packets you're describing enter via a tunnel, or do they arrive unencapsulated? (3) Send me tcpdump output that shows the packet ingress and resulting ICMP. Thanks, Robert http://www.freebsd.org/cgi/query-pr.cgi?pr=3D112722 ___ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"