示例:在 NFX250 下一代设备上配置交叉连接
此示例说明如何在 NFX250 下一代设备上配置交叉连接功能。
要求
此示例使用运行 Junos OS 19.1R1 版的 NFX250 NextGen 设备。
概述
交叉连接功能支持在任意两个 VNF 接口之间切换流量。您可以在任意两个 VNF 接口之间双向切换所有流量或属于特定 VLAN 的流量。
此功能不支持单向流量。
交叉连接功能支持以下功能:
两个 VNF 接口之间的端叉连接,适用于所有网络流量。
VNF 接口之间基于 VLAN 的流量转发,支持以下功能:
提供基于 VLAN ID 切换流量的选项。
支持 VLAN 推送、弹出和交换操作。
支持通过 POP 操作从中继到接入端口的网络流量。
支持通过 PUSH 操作从访问中继端口的网络流量。
配置
配置 VLAN
分步过程
为 LAN 端接口配置 VLAN。
user@host# set vlans vlan100 vlan-id 100
为 WAN 端接口配置 VLAN。
user@host# set vlans vlan300 vlan-id 300
配置第 2 层数据路径
分步过程
配置 LAN 端前面板端口并将其添加到 LAN 端 VLAN。
user@host# set interfaces ge-0/0/0 unit 0 family ethernet-switching interface-mode trunk user@host# set interfaces ge-0/0/0 unit 0 family ethernet-switching vlan members vlan100 user@host# set interfaces ge-0/0/1 unit 0 family ethernet-switching interface-mode trunk user@host# set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members vlan100 user@host# set interfaces sxe-0/0/0 unit 0 family ethernet-switching interface-mode trunk user@host# set interfaces sxe-0/0/0 unit 0 family ethernet-switching vlan members vlan100
将面向内部的接口配置为中继端口,并将其添加到 WAN 端 VLAN。面向内部的接口通常是中继端口,因为它们必须支持来自多个前面板端口和 VLAN 的流量。
user@host# set interfaces xe-0/0/13 unit 0 family ethernet-switching interface-mode trunk user@host# set interfaces xe-0/0/13 unit 0 family ethernet-switching vlan members vlan300 user@host# set interfaces sxe-0/0/1 unit 0 family ethernet-switching interface-mode trunk user@host# set interfaces sxe-0/0/1 unit 0 family ethernet-switching vlan members vlan300
配置第 3 层数据路径
分步过程
在 ge-1/0/0 上配置 VLAN 标记:
user@host# set interfaces ge-1/0/0 vlan-tagging user@host# set interfaces ge-1/0/0 unit 0 vlan-id 100 user@host# set interfaces ge-1/0/0 unit 0 family inet address 192.0.2.1/24
在 ge-1/0/2 上配置 VLAN 标记:
user@host# set interfaces ge-1/0/2 vlan-tagging user@host# set interfaces ge-1/0/2 unit 0 vlan-id 200 user@host# set interfaces ge-1/0/2 unit 0 family inet address 203.0.113.2/24
配置 VNF
分步过程
启动 VNF:
user@host# set virtual-network-functions vnf-name image /var/public/centos-updated_1.img user@host# set virtual-network-functions vnf-name image image-type raw
指定 VNF 所需的 CPU 数量:
user@host# set virtual-network-functions vnf-name virtual-cpu count 1
将虚拟 CPU 固定到物理 CPU:
user@host# set virtual-network-functions vnf-name virtual-cpu 0 physical-cpu 2
创建主机 VLAN:
user@host# set vmhost vlans vlan200 vlan-id 200 user@host# set vmhost vlans vlan300 vlan-id 300
将 VNF 接口配置为中继端口,并将其添加到 LAN 端 VLAN:
user@host# set virtual-network-functions vnf-name interfaces eth2 mapping vlan mode trunk user@host# set virtual-network-functions vnf-name interfaces eth2 mapping vlan members vlan200 user@host# set virtual-network-functions vnf-name interfaces eth3 mapping vlan members vlan300
指定 VNF 的内存分配:
user@host# set virtual-network-functions vnf-name memory size 1048576
配置交叉连接
分步过程
配置交叉连接:
user@host# set vmhost cross-connect c1 virtual-interface ge-1/0/2 user@host# set vmhost cross-connect c1 virtual-network-function vnf-name interface eth2
验证配置
验证控制平面配置
目的
验证控制平面配置:
行动
验证配置的 VLAN。
user@host > show vlans Routing instance VLAN name Tag Interfaces default-switch default 1 default-switch vlan100 100 ge-0/0/0.0* ge-0/0/1.0* sxe-0/0/0.0* default-switch vlan200 200 sxe-0/0/1.0* xe-0/0/12.0* default-switch vlan300 300 sxe-0/0/1.0* xe-0/0/13.0*
使用
show vmhost vlans
命令验证 VLAN 和 VLAN 成员资格是否正确。user@host> show vmhost vlans Routing instance VLAN name Tag Interfaces vmhost vlan200 200 vnf-name_eth2.0 vmhost vlan300 300 vnf-name_eth3.0
验证 VNF 是否正常运行。该
State
字段显示Running
的是已启动的 VNF。user@host> show virtual-network-functions vnf-name ID Name State Liveliness -------------------------------------------------------------------------------- 3 vnf-name Running alive
VNF 字段指示
Liveliness
是否可以从 Junos 控制平面 (JCP) 访问 VNF 的内部管理 IP 地址。要查看 VNF 的更多详细信息:
user@host> show virtual-network-functions vnf-name detail Virtual Network Function Information ------------------------------------ Id: 3 Name: vnf-name State: Running Liveliness: alive IP Address: 192.0.2.100 VCPUs: 1 Maximum Memory: 1048576 KiB Used Memory: 1048576 KiB Used 1G Hugepages: 0 Used 2M Hugepages: 0 Error: None
验证数据平面配置
目的
验证数据平面配置。
行动
验证第 2 层 (ge-0/0/x) 和第 3 层 (ge-1/0/x) 接口的状态。
user@host> show interfaces interface-name statistics
例如:
user@host> show interfaces ge-0/0/0 statistics Physical interface: ge-0/0/0, Enabled, Physical link is Up Interface index: 149, SNMP ifIndex: 517 Link-level type: Ethernet, MTU: 1514, LAN-PHY mode, Link-mode: Full-duplex, Speed: 1000mbps, Duplex: Full-Duplex, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Enabled, Auto-negotiation: Enabled, Remote fault: Online, IEEE 802.3az Energy Efficient Ethernet: Disabled, Auto-MDIX: Enabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 12 supported, 12 maximum usable queues Current address: 30:7c:5e:4c:78:03, Hardware address: 30:7c:5e:4c:78:03 Last flapped : 2018-11-26 11:03:32 UTC (04:15:32 ago) Input rate : 0 bps (0 pps) Output rate : 0 bps (0 pps) Active alarms : None Active defects : None PCS statistics Seconds Bit errors 0 Errored blocks 0 Ethernet FEC statistics Errors FEC Corrected Errors 0 FEC Uncorrected Errors 0 FEC Corrected Errors Rate 0 FEC Uncorrected Errors Rate 0 PRBS Statistics : Disabled Interface transmit statistics: Disabled Logical interface ge-0/0/0.0 (Index 330) (SNMP ifIndex 519) Flags: Up SNMP-Traps 0x24024000 Encapsulation: Ethernet-Bridge Input packets : 0 Output packets: 0 Protocol eth-switch, MTU: 1514 Flags: Trunk-Mode
user@host> show interfaces ge-1/0/2 statistics Physical interface: ge-1/0/2, Enabled, Physical link is Up Interface index: 167, SNMP ifIndex: 547 Link-level type: Ethernet, MTU: 1518, LAN-PHY mode, Link-mode: Half-duplex, Speed: 1000mbps, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Enabled, Auto-negotiation: Enabled, Remote fault: Online Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 CoS queues : 8 supported, 8 maximum usable queues Current address: 30:7c:5e:4c:78:1d, Hardware address: 30:7c:5e:4c:78:1d Last flapped : 2018-11-26 11:03:45 UTC (04:19:57 ago) Input rate : 0 bps (0 pps) Output rate : 0 bps (0 pps) Active alarms : None Active defects : None PCS statistics Seconds Bit errors 0 Errored blocks 0 Ethernet FEC statistics Errors FEC Corrected Errors 0 FEC Uncorrected Errors 0 FEC Corrected Errors Rate 0 FEC Uncorrected Errors Rate 0 PRBS Statistics : Disabled Interface transmit statistics: Disabled Logical interface ge-1/0/2.0 (Index 334) (SNMP ifIndex 550) Flags: Up SNMP-Traps 0x4000 VLAN-Tag [ 0x8100.200 ] Encapsulation: ENET2 Input packets : 0 Output packets: 0 Security: Zone: Null Protocol inet, MTU: 1500 Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 0, Curr new hold cnt: 0, NH drop cnt: 0 Flags: Sendbcast-pkt-to-re Addresses, Flags: Is-Preferred Is-Primary Destination: 203.0.113/24, Local: 203.0.113.2, Broadcast: 203.0.113.255 Logical interface ge-1/0/2.32767 (Index 335) (SNMP ifIndex 551) Flags: Up SNMP-Traps 0x4004000 VLAN-Tag [ 0x0000.0 ] Encapsulation: ENET2 Input packets : 0 Output packets: 0 Security: Zone: Null
验证 OVS 接口的状态。
user@host> show vmhost network nfv-back-plane Network Name : ovs-sys-br Interface : ovs-sys-br Type : internal, Link type : Full-Duplex, MAC : 52:86:3c:df:9c:44 MTU : [], Link State :down, Admin State : down IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 1 Tx-drops : 1 Tx-errors : 0 Interface : dpdk0 Type : dpdk, Link type : Full-Duplex, MAC : 02:09:c0:e2:b9:08 MTU : [], Link State :up, Admin State : up IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 1 Tx-drops : 0 Tx-errors : 0 Interface : dpdk1 Type : dpdk, Link type : Full-Duplex, MAC : 02:09:c0:83:39:72 MTU : [], Link State :up, Admin State : up IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 0 Tx-drops : 0 Tx-errors : 0 Interface : l3_h_ge_1_0_0 Type : dpdkvhostuser, Link type : Full-Duplex, MAC : 00:00:00:00:00:00 MTU : [], Link State :up, Admin State : up IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 0 Tx-drops : 0 Tx-errors : 0 Interface : l3_h_ge_1_0_2 Type : dpdkvhostuser, Link type : Full-Duplex, MAC : 00:00:00:00:00:00 MTU : [], Link State :down, Admin State : up IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 0 Tx-drops : 0 Tx-errors : 0 Interface : vnf-name_eth2 Type : dpdkvhostuser, Link type : Full-Duplex, MAC : 00:00:00:00:00:00 MTU : 1500, Link State :down, Admin State : up IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 0 Tx-drops : 0 Tx-errors : 0 Interface : vnf-name_eth3 Type : dpdkvhostuser, Link type : Full-Duplex, MAC : 00:00:00:00:00:00 MTU : 1500, Link State :down, Admin State : up IPV4 : None, Netmask : None IPV6 : None, IPV6 netmask : None Rx-packets : 0 Rx-drops : 0 Rx-errors : 0 Tx-packets : 0 Tx-drops : 0 Tx-errors : 0