{"id":4506,"date":"2014-11-14T14:58:42","date_gmt":"2014-11-14T12:58:42","guid":{"rendered":"http:\/\/skeletor.org.ua\/?p=4506"},"modified":"2022-12-07T14:11:49","modified_gmt":"2022-12-07T12:11:49","slug":"%d0%b7%d0%b0%d1%81%d1%82%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-igb-%d1%81-altq","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=4506","title":{"rendered":"\u0417\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c igb\/ixgbe \u0441 altq"},"content":{"rendered":"<p><em><strong><span style=\"color: #008000;\">\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434:<\/span><\/strong><\/em> <strong>FreeBSD 10.1 Release amd64<\/strong><\/p>\n<p>\u041f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <strong>ALTQ<\/strong> \u043d\u0430 <strong>igb<\/strong> \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<p><code>pfctl: igb0 : driver does not support ALTQ<\/code><\/p>\n<p>\u0445\u043e\u0442\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <strong>ALTQ<\/strong> \u0432 \u044f\u0434\u0440\u0435 \u0435\u0441\u0442\u044c. \u0412\u043e\u043e\u0431\u0449\u0435, \u043f\u0440\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <strong>ALTQ<\/strong> \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a \u0442\u0430\u043a\u043e\u043c\u0443 <a href=\"http:\/\/bsdrp.net\/documentation\/end-users_docs#nic_drivers_compatibility_matrix\" target=\"_blank\" rel=\"noopener\">&#8220;\u0441\u043f\u0438\u0441\u043a\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 ALTQ&#8221;<\/a>. \u041e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439, \u043d\u043e \u0441\u0432\u0435\u0434\u0451\u043d \u0432 \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/p>\n<p><!--more--><\/p>\n<p><strong>UPD<\/strong>. This should be <a href=\"https:\/\/bugs.freebsd.org\/bugzilla\/show_bug.cgi?id=194197\">fixed<\/a> in <strong>FreeBSD 12+<\/strong>. \u0421\u0430\u043c \u0442\u0438\u043a\u0435\u0442 \u0437\u0430\u043a\u0440\u044b\u0442 \u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e.<\/p>\n<p><strong>UPD2<\/strong>. \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 <strong>14-CURRENT<\/strong> \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <a href=\"https:\/\/skeletor.org.ua\/?p=242\">dummynet<\/a>. (\u0447\u0438\u0442\u0430\u0442\u044c &#8220;\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u04353&#8221;)<\/p>\n<p><span style=\"color: #ff6600;\"><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/strong><\/span><\/p>\n<p><em><span style=\"color: #ff0000;\">1) \u041f\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0439 \u043f\u043e\u043a\u0430 \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439. \u0411\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b.<\/span><\/em><br \/>\n<span style=\"color: #ff0000;\"><em>2) \u0414\u043b\u044f 10.3 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c &#8220;\u043f\u0430\u0442\u0447&#8221; \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435:<\/em><\/span><\/p>\n<pre># echo 'Performing IGB_LEGACY_TX mod'\n# cd \/usr\/src\/sys\/dev\/e1000\n# for ext in c h\ndo\n    echo '#define IGB_LEGACY_TX' &gt; if_igb.$ext.new\n    cat if_igb.$ext &gt;&gt; if_igb.$ext.new\n    mv -v if_igb.$ext.new if_igb.$ext\ndone<\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u043d\u0438\u0436\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0432\u044b\u0448\u043b\u043e, \u0442\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0438\u0436\u0435. \u0422\u0430\u043a \u0436\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/bugs.freebsd.org\/bugzilla\/show_bug.cgi?id=194197\">\u0431\u0430\u0433<\/a><\/p>\n<p><em><span style=\"color: #ff0000;\">3) \u0412 11.2 \u0443\u0434\u0430\u043b\u0451\u043d \u0434\u0440\u0430\u0439\u0432\u0435\u0440 <strong>ixgb<\/strong>:<\/span><\/em><\/p>\n<blockquote><p><span style=\"color: #993366;\">20180502:<\/span><br \/>\n<span style=\"color: #993366;\">The ixgb(4) driver has been removed. This driver was for an early and<\/span><br \/>\n<span style=\"color: #993366;\">uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel<\/span><br \/>\n<span style=\"color: #993366;\">quickly shifted to the long lived ixgbe family. If you have device<\/span><br \/>\n<span style=\"color: #993366;\">ixgb in your kernel config file it must be removed.<\/span><\/p><\/blockquote>\n<p>\u041a\u0430\u043a \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c? \u041f\u0440\u0438 \u0433\u0443\u0433\u043b\u0435\u043d\u0438\u0438 \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u0430\u0433\u0430 + \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430 https:\/\/bugs.freebsd.org\/bugzilla\/show_bug.cgi?id=193053 . \u041d\u0443 \u0447\u0442\u043e \u0436, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. \u041d\u0438\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043b\u043e\u0436\u0435\u043d\u044b \u043f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f <strong>igb<\/strong> (\u043f\u0443\u0442\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e <strong>\/usr\/src<\/strong>), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b (\u043f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f <strong>ixbge<\/strong> \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u0443)<\/p>\n<pre>Index: sys\/modules\/igb\/Makefile\n===================================================================\n--- sys\/modules\/igb\/Makefile    (revision 272488)\n+++ sys\/modules\/igb\/Makefile    (working copy)\n@@ -21,7 +21,7 @@\n # instead use the older if_start non-multiqueue capable interface.\n # This might be desireable for testing, or to enable the use of\n # ALTQ.\n-#CFLAGS  += -DIGB_LEGACY_TX\n+CFLAGS  += -DIGB_LEGACY_TX\n\n .if !defined(KERNBUILDDIR)\n .if ${MK_INET_SUPPORT} != \"no\"\n\nIndex: sys\/conf\/options\n===================================================================\n--- sys\/conf\/options    (revision 272659)\n+++ sys\/conf\/options    (working copy)\n@@ -405,6 +405,7 @@\n ETHER_8023             opt_ef.h\n ETHER_II               opt_ef.h\n ETHER_SNAP             opt_ef.h\n+IGB_LEGACY_TX          opt_igb.h\n INET                   opt_inet.h\n INET6                  opt_inet6.h\n IPDIVERT\n\nIndex: sys\/dev\/e1000\/if_igb.c\n===================================================================\n--- sys\/dev\/e1000\/if_igb.c      (revision 272659)\n+++ sys\/dev\/e1000\/if_igb.c      (working copy)\n@@ -33,6 +33,8 @@\n \/*$FreeBSD$*\/\n\n\n+#include \"opt_igb.h\"\n+\n #include \"opt_inet.h\"\n #include \"opt_inet6.h\"\n\nIndex: sys\/dev\/e1000\/if_igb.h\n===================================================================\n--- sys\/dev\/e1000\/if_igb.h      (revision 272659)\n+++ sys\/dev\/e1000\/if_igb.h      (working copy)\n@@ -35,6 +35,8 @@\n #ifndef _IGB_H_DEFINED_\n #define _IGB_H_DEFINED_\n\n+#include \"opt_igb.h\"\n+\n \/* Tunables *\/\n\n \/*\n<\/pre>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u044f\u0434\u0440\u043e \u0441 \u043e\u043f\u0446\u0438\u0435\u0439<\/p>\n<p><code>options IGB_LEGACY_TX<\/code><\/p>\n<p>\u0438 \u043f\u0440\u043e\u0431\u0443\u0435\u043c:<\/p>\n<p><code># pfctl -sr<br \/>\npass on igb0 all flags S\/SA keep state queue wan_rest<br \/>\n# pfctl -sq<br \/>\nqueue root_igb0 on igb0 bandwidth 1Gb priority 0 cbq( wrr root ) {wan_viber, wan_rest}<br \/>\nqueue wan_viber on igb0 bandwidth 5Mb priority 0<br \/>\nqueue wan_rest on igb0 bandwidth 995Mb cbq( default ) <\/code><\/p>\n<p><em><strong><span style=\"color: #ff6600;\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/span><\/strong><\/em><\/p>\n<p>\u042f \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u043a\u043e\u0433\u0434\u0430-\u0442\u043e, \u043d\u043e \u043d\u0430 <strong>10.0<\/strong> \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0448\u043b\u043e. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u0431\u044b\u043b \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c \u0438\u043b\u0438 \u043a\u043e\u0434 \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u0432 <strong>10.1<\/strong>.<\/p>\n<p><strong><span style=\"color: #ff0000;\">\u041f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f<\/span><\/strong> <strong>ixgbe<\/strong> (<strong>igb 10Gbit<\/strong>)<\/p>\n<pre>Index: sys\/modules\/igb\/Makefile\n===================================================================\n--- sys\/modules\/igb\/Makefile    (revision 272488)\n+++ sys\/modules\/igb\/Makefile    (working copy)\n@@ -21,7 +21,7 @@\n # instead use the older if_start non-multiqueue capable interface.\n # This might be desireable for testing, or to enable the use of\n # ALTQ.\n-#CFLAGS  += -DIGB_LEGACY_TX\n+CFLAGS  += -DIGB_LEGACY_TX\n\n .if !defined(KERNBUILDDIR)\n .if ${MK_INET_SUPPORT} != \"no\"\n\nIndex: sys\/conf\/options\n===================================================================\n--- sys\/conf\/options    (revision 272659)\n+++ sys\/conf\/options    (working copy)\n@@ -405,6 +405,7 @@\n ETHER_8023             opt_ef.h\n ETHER_II               opt_ef.h\n ETHER_SNAP             opt_ef.h\n+IXGBE_LEGACY_TX        opt_ixgbe.h\n INET                   opt_inet.h\n INET6                  opt_inet6.h\n IPDIVERT\n\nIndex: sys\/dev\/ixgbe\/ixgbe.c\n===================================================================\n--- sys\/dev\/e1000\/if_igb.c      (revision 272659)\n+++ sys\/dev\/e1000\/if_igb.c      (working copy)\n@@ -33,6 +33,8 @@\n \/*$FreeBSD$*\/\n\n\n+#include \"opt_ixgbe.h\"\n+\n #include \"opt_inet.h\"\n #include \"opt_inet6.h\"\n\nIndex: sys\/dev\/ixgbe\/ixgbe.h\n===================================================================\n--- sys\/dev\/e1000\/if_igb.h      (revision 272659)\n+++ sys\/dev\/e1000\/if_igb.h      (working copy)\n@@ -35,6 +35,8 @@\n #ifndef _IGB_H_DEFINED_\n #define _IGB_H_DEFINED_\n\n+#include \"opt_ixgbe.h\"\n+\n \/* Tunables *\/\n\n \/*\n<\/pre>\n<p>\u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0441 \u043e\u043f\u0446\u0438\u0435\u0439<\/p>\n<p><code>options IXGBE_LEGACY_TX<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434: FreeBSD 10.1 Release amd64 \u041f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ALTQ \u043d\u0430 igb \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: pfctl: igb0 : driver does not support ALTQ \u0445\u043e\u0442\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 ALTQ \u0432 \u044f\u0434\u0440\u0435 \u0435\u0441\u0442\u044c. \u0412\u043e\u043e\u0431\u0449\u0435, \u043f\u0440\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f ALTQ \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a \u0442\u0430\u043a\u043e\u043c\u0443 &#8220;\u0441\u043f\u0438\u0441\u043a\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 ALTQ&#8221;. \u041e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439, \u043d\u043e \u0441\u0432\u0435\u0434\u0451\u043d \u0432 \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-4506","post","type-post","status-publish","format-standard","hentry","category-freebsd"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4506"}],"version-history":[{"count":8,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4506\/revisions"}],"predecessor-version":[{"id":6049,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4506\/revisions\/6049"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}