توافق وحدات الإرسال والاستقبال على بطاقات NIC: القوائم البيضاء في برنامج التشغيل
على المبدّل، تكون سياسة الوحدات سطرًا في نظام تشغيل الشبكة؛ أما على الخادم فهي قرار يتخذه برنامج تشغيل NIC وبرنامجه الثابت، ويختلف حسب المورّد ونظام التشغيل وإصدار برنامج التشغيل. ومحولات Intel هي التي ترفض الوحدات غير المدرجة؛ وتقبل معظم المحولات الأخرى أي شيء يمكن تحليله. وتسرد هذه الصفحة السلوك حسب المورّد ونظام التشغيل، والتجاوزات الموثَّقة، وقواعد FEC/التفاوض التلقائي التي تحدد ما إذا كانت DAC والضوئيات تقيم الوصلة، وما يجب أن تستوفيه الهوية المُرمَّزة على جانب الخادم.
السلوك حسب المورّد
| المورّد / برنامج التشغيل | الفحص | عند الفشل | التجاوز | ملاحظات |
|---|---|---|---|---|
| Intel ixgbe (X520، وX540، وX550 SFP+) | قائمة OUI/رقم القطعة الخاصة بموردي SFP+ المؤهَّلة لدى Intel | failed to load because an unsupported SFP+ or QSFP module type was detected، وسقوط المنفذ | معامل الوحدة allow_unsupported_sfp=1 (على Linux)؛ وإعادة تحميل برنامج التشغيل | تُقبل DAC عمومًا؛ وSFP بسرعة 1G محدودة |
| Intel i40e (X710، وXXV710، وXL710) | تأهيل الوحدة على مستوى البرنامج الثابت | unsupported module في dmesg، وسقوط الوصلة، أو «الوحدة غير مؤهَّلة» في ethtool | allow_unsupported_sfp=1 في إصدارات i40e الأحدث؛ ولا شيء في الإصدارات الأقدم | وحدات XXV710 بسرعة 25G تُفحص بصرامة |
| Intel ice (E810) | تأهيل عبر NVM/البرنامج الثابت | Possible mis-configuration of the Ethernet port detected / وحدة غير مؤهَّلة | يتوقف على إصدار NVM وبرنامج التشغيل؛ تراعي بعض الإصدارات إعداد SFP غير المدعومة، وترفضه أخرى — راجع ملاحظات إصدار Intel | الأكثر تساهلًا في خط Intel ضمن إصدارات NVM الحديثة |
| Intel على Windows (برامج تشغيل PROSet) | القوائم نفسها | يعرض الجهاز «الكبل الشبكي غير موصول»، وتحذيرًا في سجل الأحداث | لا تجاوز موثَّق | استخدم وحدات مدرجة لدى Intel أو مرمَّزة بهويتها |
| Intel على VMware ESXi (ixgben، وi40en، وicen) | القوائم نفسها | سقوط الوصلة، و«وحدة غير مدعومة» في vmkernel.log | معاملات الوحدة عبر esxcli system module parameters set حيث يعرض برنامج التشغيل allow_unsupported_sfp؛ ليس في كل الإصدارات | يُفضَّل استخدام وحدات مؤهَّلة في بيئة الإنتاج |
| Nvidia / Mellanox mlx5 (ConnectX) | يحلّل EEPROM؛ وفي إيثرنت: بلا قائمة | الوصلة تعمل؛ ويعرض mlxlink معلومات الوحدة | غير مطلوب | وضع InfiniBand: يتحقق مدير النسيج من هوية الكبل/الوحدة وقد يُعلِّمها أو يخفِّضها (كبلات IB) |
| Broadcom bnxt_en (NetXtreme-E) | يحلّل؛ بلا قائمة في معظم رموز المنتجات | تعمل | — | قد يضيف البرنامج الثابت للطرازات المعاد تصنيعها (Dell، وHPE) فحوصًا |
| Marvell / QLogic qede | يحلّل | تعمل | — | — |
| AMD Solarflare sfc | يحلّل | تعمل | — | — |
| Chelsio cxgb4 | يحلّل | تعمل | — | — |
| Pensando ionic | يحلّل | تعمل | — | — |
| بطاقات NIC من مورّدي الخوادم (OEM) (Dell، وHPE، وLenovo، وCisco UCS VIC) | قد تضيف قوائمها الخاصة، خصوصًا Cisco VIC | «وحدة إرسال واستقبال غير مدعومة» في CIMC/UCSM | لا شيء رسميًا | يقبل UCS VIC الوحدات المرمَّزة بهوية Cisco |
يتغيّر السلوك مع إصدارات برنامج التشغيل والبرنامج الثابت (NVM)؛ تحقق من التوليفة الدقيقة (مصفوفات التوافق والبرنامج الثابت).
تطبيق تجاوز Intel (على Linux)
# temporary (until reload)
modprobe -r ixgbe && modprobe ixgbe allow_unsupported_sfp=1
# persistent
echo "options ixgbe allow_unsupported_sfp=1" > /etc/modprobe.d/ixgbe.conf
echo "options i40e allow_unsupported_sfp=1" > /etc/modprobe.d/i40e.conf
dracut -f # or update-initramfs -u
# verify
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0
بالنسبة إلى البطاقات متعددة المنافذ، يأخذ المعامل قائمة مفصولة بفواصل (قيمة لكل منفذ) في بعض برامج التشغيل. ولا تدعم Intel هذا الإعداد للإنتاج؛ فهو يزيل الفحص، لا المتطلبات الكهربائية.
FEC والتفاوض التلقائي على NIC
| نوع الوصلة | التفاوض التلقائي | FEC | ملاحظات |
|---|---|---|---|
| 25G DAC | مفعَّل (البند Clause 73) على الطرفين | يُتفاوض عليه (RS أو BASE-R حسب فئة الكبل) | معظم حالات «لا وصلة على DAC» سببها تعطيل التفاوض التلقائي على أحد الطرفين |
| ضوئيات 25G SR / LR | معطَّل؛ وسرعة مفروضة 25000 | RS-FEC لـSR (إلزامي)، وLR: RS أو بلا شيء — يجب أن يطابق المبدّل | ethtool --set-fec eth0 encoding rs |
| 100G DAC | مفعَّل | RS-FEC | — |
| 100G SR4 / CWDM4 / DR | معطَّل | RS-FEC إلزامي | — |
| 100G LR4 | معطَّل | بلا شيء (RS في بعض المنصات) | طابق المبدّل (FEC والتفاوض التلقائي) |
| 200G / 400G | معطَّل للضوئيات | RS(544) KP4 دائمًا | — |
| 10G | معطَّل | بلا شيء | — |
الأوامر حسب نظام التشغيل: أدوات NIC وتشخيصه؛ وجانب المبدّل: وصفات ضبط المنافذ.
ما يجب أن تستوفيه الوحدة المرمَّزة لأجل NIC
| الهدف | الحد الأدنى |
|---|---|
| Intel ixgbe/i40e بلا تجاوز | اسم المورّد ورقم القطعة من قائمة Intel المؤهَّلة (بعلامة Intel مثل E10GSFPSR/E10GSFPLR/E25GSFP28SR أو قطع OEM التي تعيد بيعها)، ورموز توافق ومجاميع اختبارية متسقة |
| Intel مع التجاوز، وكل الموردين المتساهلين | مجاميع اختبارية ورموز توافق صحيحة — دون حاجة إلى ترميز OEM |
| Cisco UCS VIC | هوية بأسلوب Cisco كما في مبدّلات Cisco (كيف يتحقق كل NOS من الوحدة) |
| بطاقات HCA من InfiniBand | هوية كبل/وحدة صحيحة وفق IBTA وقائمة مورّد النسيج |
إرشادات الترميز: قفل المورّد والترميز، ترقيم القطع.
الأعراض النموذجية على جانب NIC
| العَرَض | السبب المرجَّح | الفحص |
|---|---|---|
| المنفذ غائب أو «وحدة غير مدعومة» في dmesg | القائمة البيضاء لبرنامج التشغيل | dmesg، وethtool -m، والتجاوز أو وحدة مُرمَّزة |
| الوصلة ساقطة، والوحدة معروفة، والمستويات جيدة | عدم تطابق FEC/التفاوض التلقائي، أو فرض سرعة خاطئة | ethtool eth0، وethtool --show-fec eth0 (السرعة والمعدل) |
| الوصلة قائمة بسرعة خاطئة | اختار الوضع التلقائي 10G على وحدة ثنائية المعدل | افرض السرعة |
| الوصلة قائمة، والإنتاجية منخفضة | عرض/سرعة PCIe | lspci -vv (المنافذ وPCIe) |
| الوحدة ساخنة، وإنذارات حرارة | البطاقة في مسار هواء العادم | DDM عبر ethtool -m؛ انقل البطاقة أو حسِّن تدفق الهواء |
| تعمل في Linux، ولا تعمل في Windows/ESXi | سياسة مختلفة لبرنامج التشغيل | استخدم وحدة مؤهَّلة لنظام التشغيل ذاك |
| وصلة InfiniBand بعرض/سرعة مخفَّضين | الكبل غير مدرج في القائمة أو طويل جدًا | ibstat، وmlxlink |
في CodingBox
تُشخَّص حالات الرفض على جانب الخادم من البايتات نفسها المستخدمة على جانب المبدّل. اقرأ اسم المورّد ورقم القطعة وOUI ورموز التوافق والمجاميع الاختبارية في Check transceiver؛ وبالنسبة إلى الأساطيل المقتصرة على Intel يمكن أن تحفظ code database هويات Intel التي تقبلها برامج التشغيل.