Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

通过虚拟路由器 CLI 进行故障排除

访问虚拟路由器 CLI

您可以通过访问正在运行的虚拟路由器代理容器的外壳来访问虚拟路由器的命令行界面 (CLI)。
注意:以下命令作为示例提供。必须从您的环境中替换 vRouter Pod 名称。命令输出可能因环境而异。

列出集群上运行的 K8s Pod

复制 vRouter Pod 的名称 —contrail-vrouter-masters-dfxgm 在本例中为 输出 。您将使用 Pod 名称连接到正在运行的容器的 shell。

连接到虚拟路由器 CLI

kubectl exec发出命令以访问正在运行的容器的 shell:

其中 <命名空间> 标识运行 Pod 的命名空间,< Pod 名称>指定容器的名称,<容器 名称> 指定容器的名称(如果容器具有多个容器,则指定)。

虚拟路由器容器有三个容器。如果未指定容器名称,则该命令将默认为虚拟路由器代理容器外壳。下面是一个示例:

此时,您已连接到虚拟路由器的 CLI。

通过虚拟路由器 CLI 进行故障排除

您可以在 CLI 中运行命令以了解虚拟路由器的状态。

通过命令验证 vif 虚拟路由器接口

下面显示的命令允许您查看虚拟路由器上存在哪些接口:

查看虚拟路由器的运行配置

要查看虚拟路由器的状态,请在虚拟路由器 CLI 中输入以下命令:

输出包含多个元素。

表 1: 虚拟路由器状态属性
标志 含义
--l2_mode

虚拟路由器在 L2 模式下运行。

--l2_table_size

MAC 表中的当前条目数。默认大小为 10240 个条目。

--allow=<PCI Id>

结构和结构工作负载接口的 PCI ID。输出中可以显示多个 ID。这些 ID 用作允许列表。

--ddp

启用英特尔 DDP 支持。

默认情况下,我们在 vRouter 的 values.yaml 文件中启用 DDP。

注意:

英特尔 XL710 网卡不支持 DDP。

通过命令查看 purel2cli L2 配置和统计信息

purel2cli 命令是查看 JCNR L2 配置和统计信息的有用实用程序。首先使用 purel2cli --help 命令。

purel2cli --mac show 命令显示虚拟路由器已动态获知的 MAC 地址。

purel2cli --vlan show 命令显示 VLAN 和关联的端口。

您还可以发出 purel2cli --vlan get 命令以获取有关 VLAN 的更多详细信息。

purel2cli --l2stats发出命令以查看 L2 统计信息。例如:

表 2: purel2cliL2 统计信息的命令选项
示例命令 函数
purel2cli --l2stats get '*' '*' 获取所有虚拟接口 (vif) 和所有 VLAN ID 的统计信息。
purel2cli --l2stats get '*' 100 获取属于 VLAN 100 的所有 vif 的统计信息
purel2cli --l2stats get 1 '*' 获取接口 1 所属的所有 VLAN 的统计信息
purel2cli --l2stats get 1 100 获取接口 1 和 VLAN 100 的统计信息

该命令显示虚拟路由器中的 VLAN 到端口映射。您可以使用命令查看特定 VLAN 的网桥域表条目: 该命令有多种变体,允许您在虚拟路由器中显示和过滤 L2 统计信息。命令的基本形式为:。下表显示了可用的命令选项及其作用。它还使用以下选项之一提供示例输出:以下命令是接口 2 和 VLAN 1221 的 L2 统计信息的示例:您可以使用 purel2cli 命令清除 vRouter 中的统计信息,格式为:。清除虚拟路由器中所有 VLAN 的所有统计信息。清除 VLAN ID 100 的所有统计信息。

通过命令跟踪 dropstats 数据包

虚拟路由器会跟踪丢弃的数据包,并包括丢弃数据包的原因。下表显示了 vRouter 丢弃数据包的常见原因。执行 dropstats 命令时,如果计数器的计数为 0,则 vRouter 不会显示计数器。

表 3:下降统计计数器
计数器名称 含义
L2 bd table drop 桥接域中没有接口
L2 untag pkt drop 未标记数据包到达中继或子接口
L2 Invalid Vlan 数据包 VLAN 与接口 VLAN 不匹配
L2 Mac Table Full MAC 表中没有更多可用条目
L2 ACL drop 数据包匹配防火墙过滤器 (ACL) 丢弃规则
L2 Src Mac lookup fail 无法匹配(或学习)源 MAC 地址

dropstats 命令的示例输出如下所示:

从云原生路由器 23.4 版开始,JCNR 支持对所选流进行数据包流跟踪。该流程可通过源 IP、目标 IP、源端口、目标端口和协议进行编程。该 dropstats 实用程序得到增强,当在任何接口上的 vRouter 上接收、通过 vRouter 或通过任何接口退出 vRouter 时,都会跟踪这些数据包或分片以及元数据信息。元数据信息包括接口名称、流量方向和时间戳。

注意:

这是一项 技术预览功能

支持以下命令:

  • 启用流跟踪:

  • 清除跟踪:

  • 启用双向跟踪:

使用命令查看 dpdkinfo DPDK 的状态和统计信息

dpdkinfo 命令提供对 DPDK 状态和统计信息的洞察。dpdkinfo 命令有很多选项。以下部分介绍了可用选项和 dpdkinfo 命令的示例输出。您只能从 vRouter-agent CLI 中运行 dpdkinfo 命令。

该命令 dpdkinfo -c 显示分配给 DPDK VF 交换矩阵接口的 Lcore 以及每个接口的队列 ID。

该命令 dpdkinfo -m all 将显示所有内存池信息。

该命令 dpdkinfo -n 3 显示特定接口的统计信息。

该命令 dpdkinfo -x 3 显示特定接口的扩展统计信息。

使用和命令显示 rt 路由和 nh 下一跃点

使用 rt 命令以显示 VRF 中的所有路由。的 nh 命令允许您检查虚拟路由器已知的下一跃点。下一跃点告诉 vRouter 将路径中的数据包发送到其最终目标的下一个位置。

例如,对于 IPv4 流量:

例如,对于 IPv6 流量:

使用命令显示 flow 所有活动流

使用该 flow 命令显示系统中的所有活动流。例如: