当前位置: 首页 > article >正文

Chapter 3-11. Detecting Congestion in Fibre Channel Fabrics

Link Failure — Link Reset Failed Nonempty Recv Queue (LR Rcvd B2B)

Direction — Ingress Congestion方向 - 入口拥塞

Severity — Severe严重程度 - 严重

LR Rcvd B2B stands for Link Reset (LR) primitive received but ingress frames are still queued. LR Rcvd B2B 表示已收到链路重置 (LR) 原始信息,但入口帧仍在队列中。

As Figure 3-6 shows, a frame-sender invokes the Link Reset Protocol by sending a Link Reset (LR) primitive if it has zero remaining-Tx-B2B-credits for an extended duration. The frame-receiver, after receiving the LR primitive, checks if its ingress buffers are completely empty, and if no frames are queued in them, it sends a Link Reset Response (LRR) primitive. However, if at least one frame is still queued, the frame-receiver starts a 90 ms LR Rcvd B2B timer. If the frames are transmitted to the egress port and all the ingress buffers are free, then the LR Rcvd B2B timer is canceled and an LRR primitive is sent back to the frame-sender. Both of these situations indicate a successful link credit reset and do not generate an LR Rcvd B2B condition. 如图 3-6 所示,如果帧发送端在较长时间内的剩余 Tx-B2B 信元为零,则发送一个链路重置(LR)报文,从而调用链路重置协议。帧接收器收到 LR 原始信息后,会检查其入口缓冲区是否完全清空,如果缓冲区中没有排队的帧,则发送链路重置响应 (LRR) 原始信息。但是,如果至少有一个帧仍在排队,则帧接收器会启动一个 90 毫秒的 LR Rcvd B2B 定时器。如果帧已传输到出口端口,且所有入口缓冲区都空闲,则 LR Rcvd B2B 定时器被取消,并向帧发送者发回 LRR 原语。这两种情况都表明链路信用重置成功,不会产生 LR Rcvd B2B 条件。

Figure 3-6 Link Reset Protocol for credit loss recovery

However, if the egress port remains congested and at least one frame is still queued at the ingress port while the LR Rcvd B2B timer expires, this results in the dropping of the queued frame(s) followed by link failure (Figure 3-7). Instead of sending an LRR, the frame-receiver sends a Not Operational Sequence (NOS) (a type of primitive sequence in Fibre Channel) to reinitialize the link. 但是,如果出口端口仍然拥塞,并且在 LR Rcvd B2B 定时器过期时,入口端口仍有至少一个帧在排队,则会导致已排队的帧丢弃,继而导致链路故障(图 3-7)。帧接收器不会发送 LRR,而是发送一个非运行序列 (NOS)(光纤通道中的一种原始序列)来重新初始化链路。


http://www.kler.cn/a/504736.html

相关文章:

  • MySQL常用指令
  • C语言 - 可变参数函数 va_list、va_start、va_arg、va_end
  • Linux ffmpeg 基础用法
  • python范围
  • django基于Hadoop的天气预报数据爬取与可视化分析
  • 【Sharding-JDBC学习】读写分离_shardjdbc5 不支持 shardingdatasource
  • DRV8311三相PWM无刷直流电机驱动器
  • 【Linux系统编程】——深入理解 GCC/G++ 编译过程及常用选项详解
  • C++并发编程之多线程环境下使用无锁数据结构的重要准则
  • Cesium中的CustomDataSource 详解
  • 【人工智能】大语言模型的微调:让模型更贴近你的业务需求
  • 【Python】Paho-MQTT:mqtt 信息收发
  • 40,【6】CTFHUB WEB SQL MYSQL数据库
  • rsarsa-给定pqe求私钥对密文解密
  • Day08-后端Web实战——JDBCMybatis
  • PanWeidb-使用BenchmarkSQL对磐维数据库进行压测
  • 比较之舞,优雅演绎排序算法的智美篇章
  • 数仓建模(六)从ODS到DWD、DWS、ADS
  • 过压保护电路
  • 查看linux 当前运行的 python脚本