Chelsio T580 تحت pfSense: كيف أضبط منفذ QSFP+ على وضع 4x10G لكابل breakout
أشغّل pfSense على جهاز صغير فيه بطاقة Chelsio T580، وأريد أن يغذي أحد منفذي QSFP+ أربعة مضيفين بسرعة 10G بدلاً من رابط واحد بسرعة 40G. كابل الـ breakout لم يصل بعد، لذا أفضّل ضبط البطاقة على الوضع الصحيح قبل وصوله.
- جهاز pfSense، بطاقة Chelsio T580، أحد منفذي QSFP+ موصول حالياً بكابل DAC بسرعة 40G، والقفص الثاني فارغ
- تعريف cxgbe، وأداة cxgbetool متاحة من الطرفية (shell)
- كابل breakout من QSFP+ إلى 4xSFP+، الموديل OCTTAPCABLE3M (وكابل OCTCABLE5M-SR من نوع AOC كخطة احتياطية)
- مضيفون بسرعة 10G في الطرف البعيد، بأقفاص SFP+ عادية
حالياً تُظهر البطاقة دائماً واجهتين بسرعة 40G فقط:
cxgbe0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
media: Ethernet 40Gbase-CR4 <full-duplex>
cxgbe1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
media: Ethernet autoselect
status: no carrier
ما جربته حتى الآن:
- استعرضت أوامر cxgbetool الفرعية بحثاً عن أي إعداد يشبه ضبط وضع المنفذ، ولم أجد شيئاً
- بحثت عن متغيّر loader لبرنامج cxgbe يتيح تقسيم المنفذ، ولم أجد شيئاً أيضاً
- قرأت ما يكفي لأكون شبه متأكد من أن الكابل وحده لن يقوم بالمهمة، فلا بد أن تكون المهايئ في وضع 4x10G أولاً
فهل تقسيم 40G / 4x10G هو أمر يمكن لتعريف FreeBSD التحكم به أصلاً، أم أنه يعتمد على إعدادات المهايئ نفسه؟ وإن كان الأمر متعلقاً بالإعدادات، فما الطريقة المدعومة لتغييرها من جهاز يعمل بنظام FreeBSD؟
Comments 5
باختصار: التعريف (driver) لا يستطيع فعل ذلك. تخطيط المنفذ يأتي من الإعدادات المحمّلة داخل المهايئ نفسه، ولهذا السبب بالضبط لا يعرض cxgbe ولا cxgbetool أي مفتاح لتبديل الوضع. تُغيّر ذلك عبر أداة الإعداد الخاصة بشركة Chelsio نفسها، وتعود البطاقة بعدها بالشخصية الجديدة.
انقل الأداة إلى الجهاز (تكفي ذاكرة USB موصولة في أي مكان) ثم شغّلها:
تسألك عن المهايئ المقصود ثم عن الوضع الذي تريده. خيار breakout مُدرج باسم Spider (4x10G)، وهو الخيار الذي يحوّل منفذ QSFP+ إلى أربعة ممرات بسرعة 10G.
في تنصيب نظيف، غالباً ما يتعطل التشغيل الأول فوراً:
الأمر ليس معقداً، مجرد مكتبة ناقصة. ثبّت flashrom وستأتي معها كاعتمادية:
ذلك يجلب معه libpci 3.5.6_1، وبعدها يبدأ السكربت بالعمل ويُبلغ عن نجاح تغيير الوضع.
تنبيه واحد بما أنك تفعل هذا قبل وصول الكابل: كل ما تحصل عليه في تلك المرحلة هو إبلاغ الأداة بأن الوضع قد طُبّق. أما ما إذا كانت الممرات الأربعة ستعمل فعلاً فلا يثبت إلا بوضع كابل الـ breakout في القفص، لذا لا تفكك إعداد جانب 40G قبل أن تختبر ذلك.
قبل أن تستمر في البحث عن إعدادات في التعريف: ما هي الإعدادات التي تعمل بها البطاقة فعلياً حالياً، وهل يمكنك تثبيت python2.7 على هذا الجهاز؟ الأداة التي تُغيّر هذا الأمر هي أداة من Chelsio نفسها، وليست جزءاً من أدوات FreeBSD، وفي تنصيب افتراضي تحتاج إلى بضعة مكونات غير موجودة من الأساس.
أمر آخر، بما أن cxgbe0 مرتبط حالياً بسرعة 40G: هل هناك أي شيء يعتمد على هذا المنفذ لا يمكنك تحمّل فقدانه؟ الوضع يأتي من الإعدادات المحمّلة داخل المهايئ، فتعود البطاقة بشخصية مختلفة ويختفي المنفذان كلاهما أثناء ذلك. نفّذ العملية من الطرفية المباشرة (console) وليس عبر رابط الـ40G نفسه.
مؤكَّد، وبنفس هذا الترتيب تماماً. التشغيل الأول فشل بالخطأ
ثم أدى تثبيت pkg install flashrom إلى جلب libpci 3.5.6_1، وبعدها عمل السكربت بشكل جيد. عرض المهايئ، فاخترت Spider (4x10G)، وأبلغ عن نجاح تغيير الوضع.
الكابل لم يصل بعد، لذا لا يمكنني قول أي شيء بخصوص المنافذ الأربعة نفسها حتى الآن. سأعود بالنتيجة بمجرد أن يكون OCTTAPCABLE3M موصولاً فعلياً في القفص.
نفس الفكرة على مستوى شرائح المحوّلات (switch silicon)، مع تعقيد أكبر بكثير. على جهاز ICX 7750 لن ينقسم منفذ الـ40G حتى يخرج الجهاز من وضع cut-through:
ثم تزيل أي إعدادات عن منفذ الـ40G وتفعّل breakout عليه:
بعد إعادة التشغيل الثانية تظهر المنافذ الفرعية الأربعة بأسماء من 1/2/1:1 إلى 1/2/1:4 وتعمل كواجهات مستقلة عادية بسرعة 10G. إعادة تشغيل مرتين لتوصيل كابل واحد، لكن على الأقل هذا سلوك موثّق وليس إعداداً خفياً في المهايئ عليك أن تعرف بوجوده.
يستحق الإضافة أن الوضع (mode) ليس سوى نصف المعركة، فالطرف البعيد أيضاً يجب أن يقبل الكابل نفسه. على أجهزة MX204 و MX10003 كان كابل DAC بسرعة 40G عادي يعمل بشكل جيد على إصدارات Junos الأقدم؛ وبمجرد أن حصلت كابلات DAC بسرعة 100G على دعم رسمي، سقطت كابلات الـ40G بهدوء من القائمة، واليوم هي غير مدعومة إطلاقاً على تلك الأجهزة. المدعوم هو بصريات breakout بسرعة 4x10G، مثل QSFPP-4X10GE-LR أو SFPP-4X10GE-SR، وقطع الطرف الثالث عموماً يجب أن تُشفّر لتطابق رمز المنتج (SKU) المطلوب قبل أن يلتفت المنفذ إليها أصلاً.
بطاقة Chelsio لديك أقل تعقيداً بكثير من بطاقة موجّه، لكن إن كانت الأطراف الأربعة ستتصل بمعدات أحد الموردين، تحقق مما تفعله تلك المعدات مع كابل breakout DAC قبل أن تعود لإلقاء اللوم على وضع المهايئ.