Slow Intel 10GbE CX4 adapter behaviour

Sergey Kandaurov pluknet at gmail.com
Wed Feb 9 13:47:10 UTC 2011


On 9 February 2011 12:37, rihad <rihad at mail.ru> wrote:
> Problem solved, I'm so embarrassed :) The issue on 7.2 mentioned above with
> ixgbe (tons of "fragmentation failed" errors) was real. The issue in 8.3-RC3
> was because dummynet wasn't being loaded at all... so no traffic could pass
> on it, despite dummynet_load="YES" being set in /boot/loader.conf. So I
> turned it on in /etc/rc.conf : dummynet_enable="YES" and loaded it "kldload
> dummynet" in order to do without a reboot. Works like a charm so far. Thanks
> to all!

Looks like loading dummynet.ko via /boot/loader.conf doesn't work because
dummynet.ko depends on dummynet.ko but of the different version.

There are even more strange things:
1) dummynet.ko declares itself as version 1:
/sys/netinet/ipfw/ip_dummynet.c: MODULE_VERSION(dummynet, 1);
2) dummynet.ko compiles into itself the various schedulers: fifo, prio, rr, etc;
3) these schedulers presumably think they are compiled standalone, so they
are explicitly and strongly depend on dummynet of version 3 (why?):
/sys/netinet/ipfw/dn_sched.h: MODULE_DEPEND(name, dummynet, 3, 3, 3);

* That makes loader to error like "dummynet: loading required module
'dummynet'".
and, if loading dummynet.ko in loader prompt manually, then
"module 'dummynet' exists but with wrong version"]

This shall fix the problem: rebuilding only dummynet should be enough.
%%%
Index: /sys/netinet/ipfw/ip_dummynet.c
===================================================================
--- /sys/netinet/ipfw/ip_dummynet.c     (revision 218026)
+++ /sys/netinet/ipfw/ip_dummynet.c     (working copy)
@@ -2294,7 +2294,7 @@
 #define        DN_MODEV_ORD    (SI_ORDER_ANY - 128) /* after ipfw */
 DECLARE_MODULE(dummynet, dummynet_mod, DN_SI_SUB, DN_MODEV_ORD);
 MODULE_DEPEND(dummynet, ipfw, 2, 2, 2);
-MODULE_VERSION(dummynet, 1);
+MODULE_VERSION(dummynet, 3);

 /*
  * Starting up. Done in order after dummynet_modevent() has been called.
%%%

-- 
wbr,
pluknet


More information about the freebsd-net mailing list