pfSense के नीचे Chelsio T580: breakout cable के लिए QSFP+ port को 4x10G में कैसे डालूं
मैं एक छोटे box पर Chelsio T580 के साथ pfSense चलाता हूं और चाहता हूं कि QSFP+ ports में से एक single 40G link की बजाय चार 10G hosts को feed करे. Breakout cable अभी रास्ते में है, तो मैं चाहूंगा कि उसके पहुंचने से पहले card सही mode में हो.
- pfSense box, Chelsio T580, एक QSFP+ port आज एक 40G DAC पर बैठा है, दूसरा cage खाली
- cxgbe driver, shell से cxgbetool उपलब्ध
- QSFP+ to 4xSFP+ breakout DAC, OCTTAPCABLE3M (backup plan के तौर पर एक OCTCABLE5M-SR AOC)
- दूर वाले सिरे पर 10G hosts, साधारण SFP+ cages
अभी card हमेशा सिर्फ दो 40G interfaces दिखाता है:
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
अब तक जो किया:
- port-mode setting जैसा कुछ ढूंढने के लिए cxgbetool के subcommands छान डाले, कुछ नहीं मिला
- cxgbe के लिए कोई loader tunable ढूंढा जो port को split कर दे, वो भी नहीं मिला
- इतना पढ़ लिया कि काफी हद तक यकीन है अकेला cable ये नहीं कर पाएगा, adapter को पहले 4x10G mode में होना होगा
तो क्या 40G / 4x10G split ऐसी चीज़ है जिसे FreeBSD driver बिल्कुल भी switch कर सकता है, या ये adapter configuration में रहती है? और अगर ये configuration है, तो FreeBSD-based box से इसे बदलने का supported तरीका क्या है?
Comments 5
Short version: driver ये नहीं कर सकता. Port layout adapter में load हुई configuration से आता है, इसी वजह से न cxgbe और न cxgbetool कोई mode switch देता है. इसे Chelsio की अपनी configuration utility से बदलते हैं और card नई personality में वापस आता है.
Utility को box पर लाएं (कहीं mount किया हुआ एक USB stick काफी है) और इसे run करें:
ये पूछता है कि आपका मतलब किस adapter से है और फिर कौन सा mode चाहिए. Breakout वाला Spider (4x10G) के तौर पर listed है, वही entry QSFP+ port को चार 10G lanes में बदल देती है.
एक clean install पर पहला run अक्सर सीधे गिर जाता है:
कुछ exotic नहीं, बस एक missing library. flashrom install करें और वो एक dependency के तौर पर साथ आ जाती है:
इसके साथ libpci 3.5.6_1 आती है, उसके बाद script शुरू हो जाता है और mode change success report करता है.
एक बात ध्यान रखें, क्योंकि आप ये cable पहुंचने से पहले कर रहे हैं: उस वक्त आपको बस इतना मिलता है कि utility बता दे mode apply हो गया. चारों lanes असल में आती हैं या नहीं ये सिर्फ cage में breakout cable लगाकर ही साबित होता है, तो जब तक test न कर लें 40G वाली config मत तोड़ें.
Driver में knobs ढूंढते रहने से पहले: card असल में कौन सी configuration चला रहा है, और क्या आप उस box पर python2.7 ला सकते हैं? इसे बदलने वाली चीज़ एक Chelsio utility है, FreeBSD tooling का हिस्सा नहीं, और stock install पर इसे कुछ ऐसे pieces चाहिए जो box में out of the box नहीं होते.
एक और बात, चूंकि cxgbe0 अभी 40G पर linked है: क्या उस port पर ऐसा कुछ चल रहा है जिसे गिराना आपको महंगा पड़े? Mode adapter में load हुई configuration से आता है, तो card अलग personality में वापस आता है और उस दौरान दोनों ports गायब हो जाते हैं. इसे console से करें, 40G link के आर-पार नहीं.
Confirm हो गया, और ठीक उसी order में. पहला run यहां मरा
फिर pkg install flashrom ने libpci 3.5.6_1 खींच लिया और script ठीक चल पड़ा. उसने adapter listed किया, मैंने Spider (4x10G) चुना, और उसने mode change को successful report किया.
Cable अभी तक नहीं पहुंचा, तो चारों ports के बारे में अभी कुछ नहीं कह सकता. OCTTAPCABLE3M असल में cage में लगते ही report करूंगा.
Switch silicon पर वही idea, पर काफी ज़्यादा तामझाम के साथ. एक ICX 7750 पर 40G port तब तक split नहीं होता जब तक box cut-through mode से बाहर न आए:
फिर 40G port से कोई भी configuration हटाकर उस पर breakout enable करते हैं:
दूसरे reload के बाद चारों sub-ports 1/2/1:1 से 1/2/1:4 तक दिखने लगते हैं और साधारण independent 10G interfaces की तरह behave करते हैं. एक cable लगाने के लिए दो reloads, पर कम से कम ये documented behaviour है, ऐसी hidden adapter configuration नहीं जिसके होने के बारे में आपको पता ही होना पड़े.
जोड़ने लायक बात: mode तो लड़ाई का बस आधा हिस्सा है, दूसरे सिरे को भी cable खुद accept करना होगा. MX204 और MX10003 पर पुराने Junos के नीचे एक साधारण 40G DAC ठीक link होता था; एक बार 100G DACs को official support मिला तो 40G वाले चुपचाप list से गायब हो गए, और आज इन boxes पर वो बिल्कुल भी supported नहीं. जो supported है वो है 4x10G breakout optics, QSFPP-4X10GE-LR या SFPP-4X10GE-SR, और third-party parts को आमतौर पर matching SKU पर code होना पड़ता है इससे पहले कि port उन्हें देखे भी.
आपका Chelsio किसी router linecard से कहीं कम नखरे वाला है, पर अगर चारों legs किसी vendor gear पर जाकर लैंड कर रही हैं, तो adapter mode को दोष देने से पहले चेक करें कि वो gear breakout DAC के साथ क्या करता है.