CodingBox Q&A Ask question

Chelsio T580 trên pfSense: làm sao để đưa một cổng QSFP+ về chế độ 4x10G cho cáp breakout

Asked Active Viewed 80 AI translation from English
3

Mình chạy pfSense trên một con máy nhỏ có Chelsio T580, và muốn một trong các cổng QSFP+ cấp cho bốn host 10G thay vì một đường 40G duy nhất. Cáp breakout thì vẫn đang trên đường về, nên mình muốn card đã ở đúng mode trước khi cáp tới.

  • Máy pfSense, Chelsio T580, một cổng QSFP+ hiện đang cắm DAC 40G, cage thứ hai còn trống
  • driver cxgbe, có cxgbetool dùng được từ shell
  • DAC breakout QSFP+ sang 4xSFP+, OCTTAPCABLE3M (phương án dự phòng là AOC OCTCABLE5M-SR)
  • host 10G ở đầu xa, cage SFP+ thường

Hiện tại card chỉ luôn hiện đúng hai interface 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

Những gì mình đã làm:

  • lục qua hết các subcommand của cxgbetool để tìm thứ gì đó giống setting port-mode, không thấy gì
  • tìm loader tunable cho cxgbe có thể tách cổng ra, cũng không có
  • đọc đủ nhiều để khá chắc là chỉ riêng sợi cáp sẽ không làm được việc đó, adapter phải ở mode 4x10G trước đã

Vậy việc tách 40G / 4x10G có phải là thứ mà driver FreeBSD chuyển được hay không, hay nó nằm trong cấu hình của adapter? Và nếu là cấu hình, thì cách được hỗ trợ để đổi nó từ một máy chạy FreeBSD là gì?

Comments 5

Accepted answer

Nói ngắn gọn: driver không làm được việc này. Cách bố trí cổng đến từ cấu hình được nạp vào adapter, đó chính là lý do vì sao cả cxgbe lẫn cxgbetool đều không hề để lộ ra một công tắc đổi mode nào. Bạn đổi nó bằng chính công cụ cấu hình của Chelsio, và card sẽ quay lại với một personality mới.

Đưa công cụ đó vào máy (chỉ cần một USB stick mount vào đâu đó là đủ) rồi chạy:

python2.7 chelsio_adapter_config.py

Nó hỏi bạn muốn nói đến adapter nào, rồi tới mode nào bạn muốn. Mode breakout được liệt kê là Spider (4x10G), đó chính là mục biến cổng QSFP+ thành bốn lane 10G.

Trên một bản cài sạch, lần chạy đầu thường sập ngay lập tức:

Shared object "libpci.so.3" not found

Không có gì lạ, chỉ là thiếu một thư viện. Cài flashrom vào thì nó sẽ kéo theo như một dependency:

pkg install flashrom

Cái đó kéo theo libpci 3.5.6_1, sau đó script chạy được và việc đổi mode báo thành công.

Một lưu ý, vì bạn đang làm việc này trước khi cáp tới: tất cả những gì bạn có ở thời điểm đó chỉ là công cụ báo rằng mode đã được áp dụng. Còn bốn lane có thực sự lên hay không thì chỉ chứng minh được khi có cáp breakout cắm trong cage, nên đừng gỡ bỏ phần cấu hình 40G cho tới khi bạn đã kiểm tra xong.

6 South Korealinkadmin79KR Show original (English) AI translation

Trước khi tiếp tục lục tìm knob trong driver: card đang chạy cấu hình nào, và bạn có đưa được python2.7 vào máy đó không? Thứ thay đổi được chuyện này là một công cụ của Chelsio, không phải một phần của bộ công cụ FreeBSD, và trên một bản cài gốc nó cần thêm vài thứ không có sẵn.

Thêm một chuyện nữa, vì cxgbe0 hiện đang lên link ở 40G: có gì đang chạy trên cổng đó mà bạn không thể để mất không? Mode đến từ cấu hình được nạp vào adapter, nên card sẽ quay lại với một personality khác và cả hai cổng biến mất trong lúc đó xảy ra. Làm việc này từ console, đừng làm qua chính đường link 40G đó.

4 United StatesedgewolfUS Show original (English) AI translation

Xác nhận, và đúng thứ tự luôn. Lần chạy đầu chết với

Shared object "libpci.so.3" not found

sau đó pkg install flashrom kéo libpci 3.5.6_1 vào và script chạy ngon lành. Nó liệt kê adapter, mình chọn Spider (4x10G), và nó báo việc đổi mode thành công.

Cáp thì vẫn chưa tới, nên mình chưa nói được gì về bốn cổng kia cả. Mình sẽ báo lại khi nào OCTTAPCABLE3M thực sự nằm trong cage.

1 SpainoptictechES Show original (English) AI translation

Cùng ý tưởng đó nhưng trên chip switch, với thủ tục rườm rà hơn nhiều. Trên một con ICX 7750, cổng 40G sẽ không tách ra cho tới khi máy thoát khỏi cut-through mode:

store-and-forward
write memory
reload

Sau đó bạn gỡ hết cấu hình khỏi cổng 40G và bật breakout lên nó:

breakout ethernet 1/2/1
write memory
reload

Sau lần reload thứ hai, bốn sub-port hiện ra là 1/2/1:1 đến 1/2/1:4 và hoạt động như những interface 10G độc lập bình thường. Hai lần reload chỉ để cắm một sợi cáp, nhưng ít ra đây là hành vi có tài liệu ghi lại, chứ không phải một cấu hình adapter ẩn mà bạn phải tự biết là nó tồn tại.

4 GermanywavesmithDE Show original (English) AI translation

Đáng nói thêm là mode chỉ là một nửa trận chiến thôi, đầu xa cũng phải chấp nhận chính sợi cáp đó. Trên MX204 và MX10003, một DAC 40G thường vẫn lên link tốt dưới các bản Junos cũ; khi DAC 100G được hỗ trợ chính thức, mấy con DAC 40G âm thầm rớt khỏi danh sách, và giờ thì chúng không còn được hỗ trợ trên mấy máy đó nữa. Cái được hỗ trợ là quang breakout 4x10G, QSFPP-4X10GE-LR hoặc SFPP-4X10GE-SR, và hàng bên thứ ba thường phải được mã hóa đúng SKU tương ứng thì cổng mới chịu nhìn tới.

Con Chelsio của bạn dễ tính hơn nhiều so với một linecard router, nhưng nếu bốn nhánh đó đấu vào thiết bị của hãng khác, hãy kiểm tra xem thiết bị đó xử lý DAC breakout thế nào trước khi quay lại đổ lỗi cho mode của adapter.

3 RussianetadminRU Show original (English) AI translation
Log in to comment. Log in