示例:当融合以太网网络未对 FCoE 流量使用 IEEE 802.1p 优先级 3 时,配置无损 FCoE 流量(FCoE 中转交换机)
默认系统配置支持优先级 3 (IEEE 802.1p 代码点 011) 上的 FCoE 流量。如果融合以太网网络上的 FCoE 流量使用优先级 3,则无损传输所需的唯一用户配置是在 FCoE 入口接口上的代码点 011 上启用 PFC。
但是,如果您的网络对 FCoE 流量使用的优先级与 3 不同,则需要在该优先级上配置无损 FCoE 传输。此示例说明如何在融合以太网网络上配置无损FCoE传输,该网络使用优先级 5(IEEE 802.1p 代码点 101)处理FCoE流量,而非使用优先级 3。
要求
此示例使用以下硬件和软件组件:
一台用作 FCoE 中继交换机的 QFX 交换机
任何受支持的 Junos 版本
概述
尽管 FCoE 流量在融合以太网网络上通常使用 IEEE 802.1p 优先级 3,但某些网络对 FCoE 流量使用不同的优先级。无论使用何种优先级,FCoE 流量都必须接受无损处理。当您的网络不使用优先级 3 时,支持 FCoE 流量的无损行为需要配置:
用于 FCoE 流量的无损转发类。
行为聚合 (BA) 分类器,用于将 FCoE 转发类映射到相应的 IEEE 802.1p 优先级。
拥塞通知配置文件 (CNP),用于在接口入口的 FCoE 代码点上启用 PFC,并在接口出口上配置流量控制。出口接口上的流控制使接口能够响应从连接的对等方接收的 PFC 消息,并在正确的输出队列上暂停正确的 IEEE 802.1p 优先级。
注意:在接口上配置或更改 PFC 会阻塞整个端口,直到 PFC 更改完成。完成 PFC 更改后,端口将解除阻塞,流量将恢复。阻止端口将停止入口和出口流量,并导致端口上所有队列上的数据包丢失,直到端口解除阻塞。
DCBX 应用程序和应用程序映射,用于支持 DCBX 应用程序 TLV 交换,以在配置的 FCoE 优先级上对无损 FCoE 流量进行交换。默认情况下,DCBX 在所有以太网接口上启用,但仅在优先级 3(IEEE 802.1p 代码点 011)上启用。要在未使用默认配置时支持 DCBX 应用 TLV 交换,必须配置所有应用并将其映射到接口和优先级。
BA 分类器、CNP 和 DCBX 应用程序映射中指定的优先级必须匹配,否则配置不起作用。您必须在每个配置中指定相同的无损 FCoE 转发类,并使用相同的 IEEE 802.1p 代码点(优先级),以便将 FCoE 流量正确分类为流,并使这些流得到无损处理。
拓扑结构
此示例说明如何配置一个无损 FCoE 流量类,将其映射到优先级 3 以外的优先级,并配置流量控制以确保接口上的无损行为。此示例使用两个以太网接口,xe-0/0/25 和 xe-0/0/26。这些接口连接到融合以太网网络,该网络使用 IEEE 802.1p 优先级 5(代码点 101)处理 FCoE 流量。
两个接口上的配置相同。两个接口都使用相同的显式配置的无损 FCoE 转发类和相同的入口分类器。两个接口都对优先级 5 启用 PFC,并在同一输出队列(映射到无损 FCoE 转发类)上启用流控制。
表 1 显示了此示例的配置组件。
组件 |
设置 |
|---|---|
硬件 |
一台交换机 |
转发类 |
姓名—— 队列映射 — 队列 数据包丢弃属性 —
注意:
无损转发类可以映射到任何输出队列。但是,由于此示例中的转发类使用优先级 5,因此 |
BA 分类器 |
姓名—— FCoE 优先级映射 — 映射到代码点 |
PFC 配置 (CNP) |
CNP 名称 — 输入 CNP 代码点 — MRU— 电缆长度 — 输出 CNP 代码点 — 输出 CNP 流控制队列 —
注意:
将具有显式输出队列流控制配置的 CNP 应用于接口时,显式 CNP 将覆盖默认输出 CNP。在默认配置中启用暂停的输出队列(队列 3 和 4)不会启用暂停,除非这些队列包含在显式配置的输出 CNP 中。 |
DCBX 应用映射 |
应用名称 — 应用 EtherType— 应用映射名称 — 应用程序映射代码点 —
注意:
必须在接口上启用 LLDP 和 DCBX。默认情况下,LLDP 和 DCBX 都在所有以太网接口上启用。 |
此示例不包括调度(带宽分配)配置或 FIP 侦听配置。此示例仅重点介绍无损 FCoE 优先级配置。
QFX10000 交换机不支持 FIP 侦听。因此,QFX10000 交换机不能用作 FCoE 接入中转交换机。QFX10000 交换机可用作 FCoE 路径中执行 FIP 侦听的 FCoE 接入中继交换机和 FCF 之间的FCoE 中转交换机或聚合中转交换机。
配置
CLI 快速配置
要为FCoE传输交换机上的FCoE流量快速配置优先级与 802.1p 优先级 3 不同的无损FCoE IEEE转发类,请复制以下命令,将其粘贴到文本文件中,删除换行符,更改变量和详细信息以匹配您的网络配置,然后将命令复制粘贴到层次结构级别的 [edit] CLI中。
set class-of-service forwarding-classes class fcoe1 queue-num 5 no-loss set class-of-service classifiers ieee-802.1 fcoe_p5 forwarding-class fcoe1 loss-priority low code-points 101 set class-of-service interfaces xe-0/0/25 unit 0 classifiers ieee-802.1 fcoe_p5 set class-of-service interfaces xe-0/0/26 unit 0 classifiers ieee-802.1 fcoe_p5 set class-of-service congestion-notification-profile fcoe_p5_cnp input ieee-802.1 code-point 101 pfc mru 2240 set class-of-service congestion-notification-profile fcoe_p5_cnp input cable-length 100 set class-of-service congestion-notification-profile fcoe_p5_cnp output ieee-802.1 code-point 101 pfc flow-control-queue 5 set class-of-service interfaces xe-0/0/25 congestion-notification-profile fcoe_p5_cnp set class-of-service interfaces xe-0/0/26 congestion-notification-profile fcoe_p5_cnp set applications application fcoe_p5_app ether-type 0x8906 set policy-options application-maps fcoe_p5_app_map application fcoe_p5_app code-points 101 set protocols dcbx interface xe-0/0/25 application-map fcoe_p5_app_map set protocols dcbx interface xe-0/0/26 application-map fcoe_p5_app_map
在 IEEE 802.1p 优先级 5 上配置无损 FCoE 转发类
分步程序
要为 IEEE 802.1p 优先级 5(代码点 101)上的 FCoE 流量配置无损转发类,请将 FCoE 流量分类为无损转发类,配置拥塞通知配置文件以在 FCoE 优先级和输出队列上启用 PFC,并为 FCoE 优先级上的流量配置 DCBX 应用协议 TLV 交换:
为 IEEE 802.1p 优先级 5 上的 FCoE 流量配置无损转发类(命名
fcoe1并映射到输出队列5):[edit class-of-service] user@switch# set forwarding-classes class fcoe1 queue-num 5 no-loss
配置入口分类器 (
fcoe_p5)。分类器将 FCoE 优先级(代码点101)映射到无损 FCoE 转发类fcoe1:[edit class-of-service classifiers] user@switch# set ieee-802.1 fcoe_p5 forwarding-class fcoe1 loss-priority low code-points 101
将分类器应用于接口
xe-0/0/25和xe-0/026:[edit class-of-service] user@switch# set interfaces xe-0/0/25 unit 0 classifiers ieee-802.1 fcoe_p5 user@switch# set interfaces xe-0/0/26 unit 0 classifiers ieee-802.1 fcoe_p5
配置 CNP。输入部分在 FCoE 优先级(IEEE 802.1p 代码点 101)上启用 PFC,设置 MRU 值(2240 字节),并设置电缆长度值(100 米)。输出节在 FCoE 优先级的输出队列 5 上配置流控制:
[edit class-of-service] user@switch# set congestion-notification-profile fcoe_p5_cnp input ieee-802.1 code-point 101 pfc mru 2240 user@switch# set congestion-notification-profile fcoe_p5_cnp input cable-length 100 user@switch# set congestion-notification-profile fcoe_p5_cnp output ieee-802.1 code-point 101 pfc flow-control-queue 5
将 CNP 应用于接口:
[edit class-of-service] user@switch# set interfaces xe-0/0/25 congestion-notification-profile fcoe_p5_cnp user@switch# set interfaces xe-0/0/26 congestion-notification-profile fcoe_p5_cnp
配置 FCoE 的 DCBX 应用程序以映射到以太网接口,以便 DCBX 可以在 IEEE 802.1p 优先级 5(而非默认优先级 3)上交换应用协议 TLV:
[edit] user@switch# set applications application fcoe_p5_app ether-type 0x8906
配置 DCBX 应用程序映射,以将 FCoE 应用程序映射到正确的 IEEE 802.1p FCoE 优先级:
[edit] user@switch# set policy-options application-maps fcoe_p5_app_map application fcoe_p5_app code-points 101
将应用映射应用于以太网接口,以便 DCBX 在正确的代码点上交换 FCoE 应用 TLV:
[edit] user@switch# set protocols dcbx interface xe-0/0/25 application-map fcoe_p5_app_map user@switch# set protocols dcbx interface xe-0/0/26 application-map fcoe_p5_app_map
验证
要验证无损转发类和 IEEE 802.1p 优先级的配置和正确操作,请执行以下任务:
验证转发类配置
目的
验证是否已创建无损转发类 fcoe1 。
行动
使用操作命令 show class-of-service forwarding class显示转发类配置:
user@switch# show class-of-service forwarding-class Forwarding class ID Queue Policing priority No-Loss best-effort 0 0 normal Disabled fcoe 1 3 normal Enabled no-loss 2 4 normal Enabled network-control 3 7 normal Disabled fcoe1 4 5 normal Enabled mcast 8 8 normal Disabled
意义
命令 show class-of-service forwarding-class 将显示所有转发类。命令输出显示, fcoe1 转发类配置在输出队列 5 上,并启用了无丢失数据包丢弃属性。
由于我们没有显式配置默认转发类,因此它们将保持默认状态,包括 和 fcoe no-loss 默认转发类的无损配置。
验证行为聚合分类器配置
目的
验证分类器是否将转发类映射到正确的 IEEE 802.1p 代码点(优先级)和数据包丢失优先级。
行动
使用操作模式命令 show class-of-service classifier列出配置为支持无损 FCoE 传输的分类器:
user@switch> show class-of-service classifier Classifier: fcoe_p5, Code point type: ieee-802.1, Index: 63065 Code point Forwarding class Loss priority 101 fcoe1 low
意义
该 show class-of-service classifier 命令显示 IEEE 802.1p 代码点以及映射到每个分类器中的转发类的丢失优先级。
分类器fcoe_p5将代码点101(优先级 5)映射到显式配置的无损转发类fcoe1,丢包优先级为 low,所有其他优先级映射到丢包优先级high为 的转发类。best-effort
验证 PFC 流控制配置 (CNP)
目的
验证是否在正确的输入优先级上启用了 PFC,以及是否在 CNP 的正确输出队列上配置了流控制。
行动
使用操作模式命令 show class-of-service congestion-notification显示拥塞通知配置文件:
user@switch> show class-of-service congestion-notification
Name: fcoe_p5_cnp, Index: 12137
Type: Input
Cable Length: 100 m
Priority PFC MRU
000 Disabled
001 Disabled
010 Disabled
011 Disabled
100 Disabled
101 Enabled 2240
110 Disabled
111 Disabled
Type: Output
Priority Flow-Control-Queues
101
5
意义
命令显示 show class-of-service congestion-notification 已配置 CNP 的输入和输出节。
fcoe_p5_cnp CNP 输入部分显示 PFC 在代码点101上启用(优先级 5),MRU 为2240字节,电缆长度为100米。CNP 输出节显示输出流控制配置在代码点101(优先级 5)的队列5上。
验证接口配置
目的
验证接口上是否配置了正确的分类器和拥塞通知配置文件。
行动
列出使用操作模式命令的入口接口,并show configuration class-of-service interfaces xe-0/0/26:show configuration class-of-service interfaces xe-0/0/25
user@switch> show configuration class-of-service interfaces xe-0/0/25
congestion-notification-profile fcoe_p5_cnp;
unit 0 {
classifiers {
ieee-802.1 fcoe_p5;
}
}
user@switch> show configuration class-of-service interfaces xe-0/0/26
congestion-notification-profile fcoe_p5_cnp;
unit 0 {
classifiers {
ieee-802.1 fcoe_p5;
}
}
意义
命令 show configuration class-of-service interfaces xe-0/0/25 和 show configuration class-of-service interfaces xe-0/0/26 命令都显示,每个接口上都配置了拥塞通知配置文件 fcoe_p5_cnp ,并且与每个接口关联的 IEEE 802.1p 分类器为 fcoe_p5。
验证 DCBX 应用配置
目的
验证是否已配置用于 FCoE 的 DCBX 应用程序。
行动
使用配置模式命令 show applications列出 DCBX 应用程序:
user@switch# show applications
application fcoe_p5_app {
ether-type 0x8906;
意义
配置模式命令显示 show applications 所有配置的应用程序。输出显示,应用程序 fcoe_p5_app 配置了 的 EtherType 0x8906为 。
验证 DCBX 应用程序映射配置
目的
验证应用映射是否已配置。
行动
使用配置模式命令 show policy-options application-maps列出应用程序映射:
user@switch# show policy-options application-maps
fcoe_p5_app_map {
application fcoe_p5_app code-points 101;
}
意义
show policy-options application-maps配置模式命令将列出所有已配置的应用程序映射以及属于每个应用程序映射的应用程序。输出显示应用程序映射fcoe_p5_app_map由名为 fcoe_p5_app的应用程序组成,该应用程序映射到 IEEE 802.1p 代码点101。
验证 DCBX 应用协议交换接口配置
目的
验证应用映射是否应用于正确的接口。
行动
使用配置模式命令 show protocols dcbx列出每个接口上的应用程序映射:
user@switch# show protocols dcbx
interface xe-0/0/25.0 {
application-map fcoe_p5_app_map;
}
interface xe-0/0/26.0 {
application-map fcoe_p5_app_map;
}
意义
配置模式命令会 show protocols dcbx 列出应用程序映射与接口的关联。输出显示接口 xe-0/0/25.0 和 xe-0/0/26.0 使用应用程序映射 fcoe_p5_app_map。