JasonJian

寻得本性,自得其乐

导航

【802.3ad LAG学习笔记】select logic,选择逻辑

Select logic的主要功能是什么?

  • 使用端口的LAGID(这点是什么意思呢)为端口选择一个合适的Aggregator(注意:不同的Aggregator不会有相同的LAG ID)
  • 一旦LAGID发生变化,端口会马上从对应的Aggregator上detach,即使之后又选择了同样的Aggregator,也必须这样,不这样做的话就很有可能将报文发送到错误的地方

aggregation表示什么?

aggregation有两个意思

  • 为端口选定一个合适的aggregator
  • 将端口attach到该aggregator上

端口如何确认是否属于同一个LAG(聚合组)

当端口的下面几个属性相同时,他们就属于同一个聚合组

  • Actor System ID
  • Actor key
  • Partner System ID
  • Partner key

协议规定的选择逻辑正确的行为是怎样的

  • 系统必须支持至少一个Aggregator
  • 每个端口必须被分配一个operational key,如果多个端口需要支持被聚合到一个Aggregator,那么这些端口需要被分配相同的operational key,如果一个端口不支持与别的端口聚合到一起,那么这个端口需要被分配一个unique的operational key
  • 每个Aggregator必须被分配一个operational key
  • 系统中每个Aggregator都必须被分配一个operational key
  • 端口只能选择operational key 相同的Aggregator attach
  • 如果端口属于同一个聚合组(如何判断端口是否属于同一个聚合组,请参见上面的的描述)
  • 设备上直连的(环回的)两个端口不能选择到同一个Aggregator
  • 一旦一个端口选定了相应的Aggregator,那么该端口的selected变量就要被设置为selected或者standby
  • 如果是selected状态,那么mux状态机就开始将这个端口attach到Aggregator
  • 如果是standby状态,那么mux状态机就会将这个端口保持在waiting状态(waiting状态表示该端口已经ready,一旦状态变化为selected,就可以马上attach到Aggregator)
  • selection logic负责计算READY变量的值(根据一系列ready_N变量的值)
  • 当需要重新选择Aggregator的时候,总是先将selected的值修改为unselected,然后再开始重新选择的流程
  • 只有当端口状态变为selected,并且已经成功attach到一个Aggregator后才能够将该端口给mac client使用

posted on 2014-08-04 11:26  JasonJian  阅读(558)  评论(0编辑  收藏  举报