WO2016065536A1 - 交换机处理方法、控制器、交换机及交换机处理系统 - Google Patents
交换机处理方法、控制器、交换机及交换机处理系统 Download PDFInfo
- Publication number
- WO2016065536A1 WO2016065536A1 PCT/CN2014/089701 CN2014089701W WO2016065536A1 WO 2016065536 A1 WO2016065536 A1 WO 2016065536A1 CN 2014089701 W CN2014089701 W CN 2014089701W WO 2016065536 A1 WO2016065536 A1 WO 2016065536A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- switch
- flow table
- packet
- flow
- extended
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/583—Stackable routers
Abstract
Description
Claims (100)
- 一种交换机处理方法,其特征在于,由控制器和逻辑交换机Switch执行,所述逻辑Switch包括至少两个物理Switch;所述方法包括:所述控制器将逻辑Switch的多级流表中各流表分配给每个所述物理Switch,所述多级流表为所述逻辑Switch的流水线;所述控制器发送映射信息,以使每个所述物理Switch获得所述映射信息,所述映射信息包括所述多级流表中各流表与所述物理Switch的映射关系;所述控制器向所述逻辑Switch发送流表项,以使每个所述物理Switch获得与其对应的流表项,并根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理,所述流表项为所述控制器为每个所述物理Switch分配的流表集合中各流表的内容信息。
- 根据权利要求1所述的方法,其特征在于,所述至少两个物理Switch包括主Switch和第一扩展Switch,其中,所述控制器至少与所述主Switch连接,所述第一扩展Switch至少与所述主Switch连接;则所述控制器发送映射信息,包括:所述控制器至少向所述主Switch发送映射信息,以使所述主Switch接收到所述映射信息,使得所述第一扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch发送的映射信息;所述控制器向所述逻辑Switch发送流表项,包括:所述控制器至少向所述主Switch发送所述逻辑Switch的流表项,以使所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与每个所述物理Switch对应的流表项,使得所述第一扩展Switch接收到的流表项包括所述控制器和/或所述主Switch发送的流表项。
- 根据权利要求2所述的方法,其特征在于,所述物理Switch还包括第二扩展Switch,所述第二扩展Switch至少与所述第一扩展Switch连接;则所述控制器发送映射信息,包括:所述控制器至少向所述主Switch发送映射信息,以使所述主Switch接收到所述映射信息,使得所述第一扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch发送的映射信息,并且所述第二扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch和/或所述第一扩展Switch发送 的映射信息;所述控制器向所述逻辑Switch发送流表项,包括:所述控制器至少向所述主Switch发送所述逻辑Switch的流表项,以使所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与所述主Switch对应的流表项以及与所述第一扩展Switch和/或所述第二扩展Switch对应的流表项,使得所述第一扩展Switch接收到的流表项包括所述控制器和/或所述主Switch发送的与所述第一扩展Switch对应的流表项,并且使得所述第二扩展Switch接收到的流表项包括所述控制器和/或所述主Switch和/或所述第一扩展Switch发送的与所述第二扩展Switch对应的流表项。
- 根据权利要求2或3所述的方法,其特征在于,所述控制器为所述主Switch分配的流表至少包括所述逻辑Switch的多级流表中的第一级流表table0,使得所述主Switch在接收到所述数据报文时通过所述table0对所述数据报文进行处理。
- 根据权利要求1~4中任一项所述的方法,其特征在于,所述控制器向所述逻辑Switch发送流表项,包括:所述控制器向所述逻辑Switch发送流表项,使得当前物理Switch在接收到数据报文时,通过当前流表对所述数据报文进行处理,并根据所述映射信息确定下一跳流表的位置,在所述已确定的下一跳流表位于所述当前物理Switch中时,将所述数据报文跳转到所述下一跳流表继续进行处理,或者,在所述已确定的下一跳流表位于其它物理Switch中时,发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的物理Switch中。
- 根据权利要求1~4中任一项所述的方法,其特征在于,所述控制器向所述逻辑Switch发送流表项,包括:所述控制器在待发送流表项中包括流表跳转指令时,判断下一跳流表是否位于所述当前物理Switch中;所述控制器在确定所述下一跳流表位于所述当前物理Switch中时,向所述当前物理Switch发送包含所述流表跳转指令的流表项,使得所述当前物理Switch将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,所述控制器在确定所述下一跳流表位于其它物理Switch中时,将所述待 发送流表项中的流表跳转指令替换为Switch转发指令,并向所述当前物理Switch发送包含所述Switch转发指令的流表项,使得所述当前物理Switch发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的物理Switch中。
- 根据权利要求5或6所述的方法,其特征在于,所述对流水线环境的保护为所述当前物理Switch将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求5~7中任一项所述的方法,其特征在于,所述对流水线环境的保护,用于使得所述下一跳流表对应的物理Switch对其接收到的报文封装包进行解析获得解析信息,以根据所述解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息。
- 根据权利要求5~7中任一项所述的方法,其特征在于,所述控制器发送的与所述扩展Switch对应的流表项包括用于进行流水线恢复的流表项;则所述方法还包括:所述控制器向所述扩展Switch发送所述用于进行流水线恢复的流表项,使得所述扩展Switch将所述流表项添加到所述扩展Switch的第一级流表table0’中,并在接收到所述报文封装包时,通过所述table0’中添加的流表项进行对流水线环境的恢复。
- 根据权利要求9所述的方法,其特征在于,所述报文封装包中包括下一跳流表ID,所述用于进行流水线恢复的流表项包括匹配部分和执行指令,所述匹配部分用于所述扩展Switch将所述下一跳流表ID作为所述流表项对应的匹配对象,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述对流水线环境的恢复为所述扩展Switch通过所述table0’中的流表项对其接收到的报文封装包进行匹配,在所述下一跳流表ID与所述table0’中的流表项匹配时,根据匹配结果顺序执行所述已匹配的流表项中的所述流表恢复指令和/或所述流表跳转指令。
- 一种交换机处理方法,其特征在于,由控制器和逻辑Switch执行,所述逻辑Switch包括至少两个物理Switch,所述至少两个物理Switch包括主Switch和扩展Switch,其中,所述控制器至少与所述主Switch连接;所述方法包括:所述主Switch接收所述控制器发送的映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;所述主Switch接收所述控制器发送的流表项,所述主Switch接收到的流表项为所述控制器为所述主Switch分配的,或者所述控制器为主Switch和所述扩展Switch分配的流表集合中各流表的内容信息;所述主Switch根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理。
- 根据权利要求11所述的方法,其特征在于,所述主Switch接收所述控制器发送的映射关系之后,还包括:所述主Switch向与其连接的扩展Switch发送所述映射信息;所述主Switch接收所述控制器发送的流表项之后,还包括:所述主Switch向与其连接的扩展Switch发送所述控制器分配的流表项。
- 根据权利要求11或12所述的方法,其特征在于,所述扩展Switch包括第一扩展Switch和第二扩展Switch,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少与所述第一扩展Switch连接;所述主Switch接收所述控制器发送的映射信息之后,还包括:所述主Switch向所述第一扩展Switch和/或所述第二扩展Switch发送所述映射信息;所述主Switch接收所述控制器发送流表项之后,还包括:所述主Switch向所述第一扩展Switch和/或所述第二扩展Switch发送所述控制器分配的流表项,以使所述扩展Switch根据与其对应流表项和所述映射信息对接收到的数据报文进行处理。
- 根据权利要求11~13中任一项所述的方法,其特征在于,所述主Switch接收到的映射信息包括所述控制器为其分配的流表,所述流表至少包括所述逻辑Switch的多级流表中的第一级流表table0;则所述主Switch根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理, 包括:所述主Switch根据所述流表项、或者根据所述流表项和所述映射信息,通过所述table0对所述接收到的数据报文进行处理。
- 根据权利要求11~14中任一项所述的方法,其特征在于,所述主Switch根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理,包括:所述主Switch在接收到数据报文时,对所述数据报文进行处理,并根据所述映射信息判断下一跳流表的位置;在所述下一跳流表位于所述主Switch中时,所述主Switch将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,在所述下一跳流表位于所述扩展Switch中时,所述主Switch发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求11~14中任一项所述的方法,其特征在于,所述主Switch接收所述控制器发送的流表项,包括:所述主Switch接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项,所述流表项中的流表跳转指令或Switch转发指令为所述控制器根据所述流表项中的下一跳流表是否位于所述主Switch中确定的,若是,所述流表项中包括流表跳转指令,若否,所述流表项中包括Switch转发指令;则所述主Switch根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理,包括:所述主Switch接收所述数据报文,在所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,所述主Switch接收所述数据报文,在所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求15或16所述的方法,其特征在于,所述主Switch发起对流水线环境的保护,包括:所述主Switch将对所述数据报文进行处理的相关信息和所述数据报文同 时封装于所述报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求15~17中任一项所述的方法,其特征在于,所述对流水线环境的保护,用于使得所述下一跳流表对应的扩展Switch对其接收到的报文封装包进行解析获得解析信息,以根据所述解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息。
- 一种交换机处理方法,其特征在于,由控制器和逻辑Switch执行,所述逻辑Switch包括多个物理Switch,所述多个物理Switch包括主Switch和扩展Switch,所述扩展Switch包括第一扩展Switch和第二扩展Switch,其中,所述控制器至少与所述主Switch连接,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少与所述第一扩展Switch连接;所述方法包括:所述当前扩展Switch接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;所述当前扩展Switch接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的与所述当前扩展Switch对应的流表项,所述当前扩展Switch接收到的流表项为所述控制器为所述当前扩展Switch分配的流表集合中各流表的内容信息;所述当前扩展Switch根据所述流表项、或者根据所述流表项和所述映射信息对接收到的第一报文封装包进行处理,所述第一述报文封装包为上一跳流表所在的物理Switch将其接收到的数据报文和对所述数据报文进行处理的相关信息封装在一起生成的。
- 根据权利要求19所述的方法,其特征在于,所述当前扩展Switch接收到的映射信息中,所述逻辑Switch的多级流表中的第一级流表table0与所述主Switch对应。
- 根据权利要求19或20所述的方法,其特征在于,所述当前扩展Switch 接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的与所述当前扩展Switch对应的流表项之后,还包括:所述当前扩展Switch接收到所述第一报文封装包;所述当前扩展Switch确定所述第一报文封装包中的下一跳流表编号ID位于其它物理Switch中;所述当前扩展Switch根据所述映射信息将所述第一报文封装包转发给所述下一跳流表ID对应的物理Switch。
- 根据权利要求19或20所述的方法,其特征在于,所述当前扩展Switch接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的与所述当前扩展Switch对应的流表项之后,还包括:所述当前扩展Switch接收到所述第一报文封装包;所述当前扩展Switch确定所述第一报文封装包中的下一跳流表编号ID位于所述当前扩展Switch中;所述当前扩展Switch对所述第一报文封装包进行流水线环境的恢复,以获取所述数据报文。
- 根据权利要求22所述的方法,其特征在于,所述当前扩展Switch对所述第一报文封装包进行流水线环境的恢复,包括:所述当前扩展Switch对接收到的所述第一报文封装包进行解析获得解析信息,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata);所述当前扩展Switch根据所述解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理。
- 根据权利要求22所述的方法,其特征在于,所述当前扩展Switch接收到的流表项包括所述控制器发送的用于进行流水线恢复的流表项;则所述当前扩展Switch对所述第一报文封装包进行流水线环境的恢复,包括:所述当前扩展Switch将所述用于进行流水线恢复的流表项添加到所述当前扩展Switch的第一级流表table0’中;所述当前扩展Switch通过所述table0’中添加的流表项对接收到的所述第 一报文封装包进行对流水线环境的恢复。
- 根据权利要求24所述的方法,其特征在于,所述第一报文封装包中包括下一跳流表ID,所述用于进行流水线恢复的流表项包括匹配部分和执行指令,其中,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述当前扩展Switch通过所述table0’中添加的流表项对接收到的所述第一报文封装包进行对流水线环境的恢复,包括:所述当前扩展Switch通过所述table0’中的流表项对所述第一报文封装包进行匹配;所述当前扩展Switch在所述table0’中的流表项匹配成功时,根据匹配结果顺序执行所述已匹配的流表项中的流表恢复指令和/或流表跳转指令。
- 根据权利要求22~25中任一项所述的方法,其特征在于,所述当前扩展Switch对所述第一报文封装包进行流水线环境的恢复,以获取所述数据报文之后,还包括:所述当前扩展Switch获取到所述数据报文时,通过所述当前流表对所述数据报文进行处理,并根据所述映射信息判断下一跳流表的位置;在所述下一跳流表位于所述当前扩展Switch中时,所述当前扩展Switch将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,在所述下一跳流表位于其它扩展Switch中时,所述当前扩展Switch发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求22~25中任一项所述的方法,其特征在于,还包括:所述当前扩展Switch接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项,所述流表项中的流表跳转指令或Switch转发指令为所述控制器根据所述流表项中的所述下一跳流表是否位于所述当前扩展Switch中确定的,若是,所述流表项中包括流表跳转指令,若否,所述流表项中包括Switch转发指令;则所述当前扩展Switch对所述第一报文封装包进行流水线环境的恢复之后,还包括:所述当前扩展Switch获取到所述第一报文封装包中的数据报文,在所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转 到所述下一跳流表中继续进行处理;或者,所述当前扩展Switch获取到所述第一报文封装包中的数据报文,在所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求26或27所述的方法,其特征在于,所述当前扩展Switch发起对流水线环境的保护,包括:所述当前扩展Switch将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述第二报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 一种交换机处理装置,其特征在于,设置于与逻辑交换机Switch相连接的控制器中,所述逻辑Switch包括至少两个物理Switch;所述装置包括:分配模块,用于将逻辑Switch的多级流表中各流表分配给每个所述物理Switch,所述多级流表为所述逻辑Switch的流水线;发送模块,用于发送映射信息,以使每个所述物理Switch获得所述映射信息,所述映射信息包括所述多级流表中各流表与所述物理Switch的映射关系;所述发送模块,还用于向所述逻辑Switch发送流表项,以使每个所述物理Switch获得与其对应的流表项,并根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理,所述流表项为所述控制器为每个所述物理Switch分配的流表集合中各流表的内容信息。
- 根据权利要求29所述的装置,其特征在于,所述至少两个物理Switch包括主Switch和第一扩展Switch,其中,所述控制器至少与所述主Switch连接,所述第一扩展Switch至少与所述主Switch连接;则所述发送模块用于发送映射信息,具体包括:至少向所述主Switch发送映射信息,以使所述主Switch接收到所述映射信息,使得所述第一扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch发送的映射信息;所述发送模块还用于向所述逻辑Switch发送流表项,具体包括:至少向所述主Switch发送所述逻辑Switch的流表项,以使所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与每个所述物理Switch对应的流表项,使得所述第一扩展Switch接收到的流表项包括所述控制器和/或所述主Switch发送的流表项。
- 根据权利要求30所述的装置,其特征在于,所述物理Switch还包括第二扩展Switch,所述第二扩展Switch至少与所述第一扩展Switch连接;则所述发送模块用于发送映射信息,具体包括:至少向所述主Switch发送映射信息,以使所述主Switch接收到所述映射信息,使得所述第一扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch发送的映射信息,并且所述第二扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch和/或所述第一扩展Switch发送的映射信息;所述发送模块还用于向所述逻辑Switch发送流表项,具体包括:至少向所述主Switch发送所述逻辑Switch的流表项,以使所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与所述主Switch对应的流表项以及与所述第一扩展Switch和/或所述第二扩展Switch对应的流表项,使得所述第一扩展Switch接收到的流表项包括所述控制器和/或所述主Switch发送的与所述第一扩展Switch对应的流表项,并且使得所述第二扩展Switch接收到的流表项包括所述控制器和/或所述主Switch和/或所述第一扩展Switch发送的与所述第二扩展Switch对应的流表项。
- 根据权利要求30或31所述的装置,其特征在于,所述分配模块为所述主Switch分配的流表至少包括所述逻辑Switch的多级流表中的第一级流表table0,使得所述主Switch在接收到所述数据报文时通过所述table0对所述数据报文进行处理。
- 根据权利要求29~32中任一项所述的装置,其特征在于,所述发送模块还用于向所述逻辑Switch发送流表项,具体包括:向所述逻辑Switch发送流表项,使得当前物理Switch在接收到数据报文时,通过当前流表对所述数据报文进行处理,并根据所述发送模块发送的映射信息确定下一跳流表的位置,在所述已确定的下一跳流表位于所述当前物理Switch中时,将所述数据报文跳转到所述下一跳流表继续进行处理,或者,在所述已确定的下一跳 流表位于其它物理Switch中时,发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的物理Switch中。
- 根据权利要求29~32中任一项所述的装置,其特征在于,所述发送模块包括:判断单元,用于在待发送流表项中包括流表跳转指令时,判断下一跳流表是否位于所述当前物理Switch中;执行单元,用于所述判断单元确定出所述下一跳流表位于所述当前物理Switch中时,向所述当前物理Switch发送包含所述流表跳转指令的流表项,使得所述当前物理Switch将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,所述执行单元,用于所述判断单元确定出所述下一跳流表位于其它物理Switch中时,将所述待发送流表项中的流表跳转指令替换为Switch转发指令,并向所述当前物理Switch发送包含所述Switch转发指令的流表项,使得所述当前物理Switch发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的物理Switch中。
- 根据权利要求33或34所述的装置,其特征在于,所述对流水线环境的保护为所述当前物理Switch将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求33~35中任一项所述的装置,其特征在于,所述对流水线环境的保护,用于使得所述下一跳流表对应的物理Switch对其接收到的报文封装包进行解析获得解析信息,以根据所述解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息。
- 根据权利要求33~36中任一项所述的装置,其特征在于,所述发送模块发送的与所述扩展Switch对应的流表项包括用于进行流水线恢复的流表项;则所述发送模块,还用于向所述扩展Switch发送所述用于进行流水线恢复的流表项,使得所述扩展Switch将所述流表项添加到所述扩展Switch的第一级流表table0’中,并在接收到所述报文封装包时,通过所述table0’中添加 的流表项进行对流水线环境的恢复。
- 根据权利要求37所述的装置,其特征在于,所述报文封装包中包括下一跳流表ID,所述发送模块发送的用于进行流水线恢复的流表项包括匹配部分和执行指令,所述匹配部分用于所述扩展Switch将所述下一跳流表ID作为所述流表项对应的匹配对象,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述对流水线环境的恢复为所述扩展Switch通过所述table0’中的流表项对其接收到的报文封装包进行匹配,在所述下一跳流表ID与所述table0’中的流表项匹配时,根据匹配结果顺序执行所述已匹配的流表项中的所述流表恢复指令和/或所述流表跳转指令。
- 一种交换机处理装置,其特征在于,设置于与控制器相连接的逻辑交换机Switch的物理Switch中,其中,所述逻辑Switch包括至少两个物理Switch,所述至少两个物理Switch包括主Switch和扩展Switch,所述控制器至少与所述主Switch连接,交换机处理装置具体设置于所述主Switch中;所述装置包括:接收模块,用于接收所述控制器发送的映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;所述接收模块,还用于接收所述控制器发送的流表项,所述接收模块接收到的流表项为所述控制器为所述主Switch分配的,或者所述控制器为主Switch和所述扩展Switch分配的流表集合中各流表的内容信息;处理模块,用于根据所述接收模块接收的流表项、或者根据所述接收模块接收的流表项和映射信息对所述主Switch接收到的数据报文进行处理。
- 根据权利要求39所述的装置,其特征在于,还包括:发送模块,用于在所述接收模块接收所述控制器发送的映射关系之后,向与其连接的扩展Switch发送所述映射信息;所述发送模块,还用于在所述接收模块接收所述控制器发送的流表项之后,向与其连接的扩展Switch发送所述控制器分配的流表项。
- 根据权利要求39或40所述的装置,其特征在于,所述主Switch所属的逻辑Switch中,所述扩展Switch包括第一扩展Switch和第二扩展Switch,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少 与所述第一扩展Switch连接;所述发送模块用于向与其连接的扩展Switch发送所述映射信息,具体包括:向所述第一扩展Switch和/或所述第二扩展Switch发送所述映射信息;所述发送模块还用于向与其连接的扩展Switch发送所述控制器分配的流表项,具体包括:向所述第一扩展Switch和/或所述第二扩展Switch发送所述控制器分配的流表项,以使所述扩展Switch根据与其对应流表项和所述映射信息对接收到的数据报文进行处理。
- 根据权利要求39~41中任一项所述的装置,其特征在于,所述接收模块接收到的映射信息包括所述控制器为主Switch分配的流表,所述流表至少包括所述逻辑Switch的多级流表中的第一级流表table0;则所述处理模块,具体用于根据所述接收模块接收的流表项、或者根据所述接收模块接收的流表项和映射信息,通过所述table0对所述接收到的数据报文进行处理。
- 根据权利要求39~42中任一项所述的装置,其特征在于,所述处理模块包括:处理单元,用于在接收到数据报文时,对所述数据报文进行处理;判断单元,用于并根据所述接收模块接收的映射信息判断下一跳流表的位置;则所述处理单元,还用于在所述判断单元判断出所述下一跳流表位于所述主Switch中时,将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,所述处理单元,还用于在所述判断单元判断出所述下一跳流表位于所述扩展Switch中时,发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求39~42中任一项所述的装置,其特征在于,所述接收模块还用于接收所述控制器发送的流表项,具体包括:接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项,所述流表项中的流表跳转指令或Switch转发指令为所述控制器根据所述流表项中的下一跳流表是否位于所述主Switch中确定的,若是,所述流表项中包括流表跳转指令,若否,所述流表项中包括Switch转发指令;则所述处理模块,具体用于在接收到的所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转到所述下一跳流表中继续进 行处理;或者,所述处理模块,具体用于在接收到的所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求43或44所述的装置,其特征在于,所述处理模块发起对流水线环境的保护,包括:将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求43~45中任一项所述的装置,其特征在于,所述对流水线环境的保护,用于使得所述下一跳流表对应的扩展Switch对其接收到的报文封装包进行解析获得解析信息,以根据所述解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息。
- 一种交换机处理装置,其特征在于,设置于与控制器相连接的逻辑交换机Switch的物理Switch中,其中,所述逻辑Switch包括多个物理Switch,所述多个物理Switch包括主Switch和所述扩展Switch,所述扩展Switch包括第一扩展Switch和第二扩展Switch,所述控制器至少与所述主Switch连接,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少与所述第一扩展Switch连接,交换机处理装置具体设置于扩展Switch中;所述装置包括:接收模块,用于接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;所述接收模块,还用于接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的与当前扩展Switch对应的流表项,所述接收模块接收到的流表项为所述控制器为所述当前扩展Switch分配的流表集合中各流表的内容信息;处理模块,用于根据所述接收模块接收的流表项、或者根据所述接收模 块接收的流表项和映射信息对所述当前扩展Switch接收到的第一报文封装包进行处理,所述第一述报文封装包为上一跳流表所在的物理Switch将其接收到的数据报文和对所述数据报文进行处理的相关信息封装在一起生成的。
- 根据权利要求47所述的装置,其特征在于,所述接收模块接收到的映射信息中,所述逻辑Switch的多级流表中的第一级流表table0与所述主Switch对应。
- 根据权利要求47或48所述的装置,其特征在于,所述接收模块,还用于在接收到与所述当前扩展Switch对应的流表项之后,接收所述第一报文封装包;所述处理模块,具体用于在确定出所述接收模块接收的第一报文封装包中的下一跳流表编号ID位于其它物理Switch中时,根据所述接收模块接收的映射信息将所述接收模块接收到的第一报文封装包转发给所述下一跳流表ID对应的物理Switch。
- 根据权利要求47或48所述的装置,其特征在于,所述接收模块,还用于在接收到与所述当前扩展Switch对应的流表项之后,接收到所述第一报文封装包;所述处理模块,具体用于在确定出所述接收模块接收的第一报文封装包中的下一跳流表编号ID位于所述当前扩展Switch中时,对所述接收模块接收到的第一报文封装包进行流水线环境的恢复,以获取所述数据报文。
- 根据权利要求50所述的装置,其特征在于,所述处理模块包括:解析单元,用于对所述接收模块接收到的第一报文封装包进行解析获得解析信息,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata);处理单元,用于根据所述解析单元获得的解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理。
- 根据权利要求50所述的装置,其特征在于,所述接收模块接收到的流表项包括所述控制器发送的用于进行流水线恢复的流表项;则所述处理模块包括:添加单元,用于将所述用于进行流水线恢复的流表项添加到所述当 前扩展Switch的第一级流表table0’中;处理单元,通过所述table0’中添加的流表项对所述接收模块接收到的所述第一报文封装包进行对流水线环境的恢复。
- 根据权利要求52所述的装置,其特征在于,所述接收模块接收到的第一报文封装包中包括下一跳流表ID,所述接收模块接收到的用于进行流水线恢复的流表项包括匹配部分和执行指令,其中,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述处理单元,具体用于通过所述table0’中的流表项对所述接收模块接收到的第一报文封装包进行匹配;并在所述table0’中的流表项匹配成功时,根据匹配结果顺序执行所述已匹配的流表项中的流表恢复指令和/或流表跳转指令。
- 根据权利要求50~53中任一项所述的装置,其特征在于,所述处理模块,还用于对所述接收模块接收到的第一报文封装包进行流水线环境的恢复之后,在获取到所述数据报文时,通过所述当前流表对所述数据报文进行处理;则所述装置还包括:判断模块,用于根据所述映射信息判断下一跳流表的位置;则所述处理模块,还用于在所述判断模块判断出所述下一跳流表位于所述当前扩展Switch中时,将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,所述处理模块,还用于在所述判断模块判断出所述下一跳流表位于其它扩展Switch中时,发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求50~53中任一项所述的装置,其特征在于,所述接收模块,还用于接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项,所述流表项中的流表跳转指令或Switch转发指令为所述控制器根据所述流表项中的所述下一跳流表是否位于所述当前扩展Switch中确定的,若是,所述流表项中包括流表跳转指令,若否,所述流表项中包括Switch转发指令;则所述处理模块,还用于对所述接收模块接收到的第一报文封装包进行流水线环境的恢复之后,获取到所述第一报文封装包中的数据报文,在所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转 到所述下一跳流表中继续进行处理;或者,获取到所述第一报文封装包中的数据报文,在所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求54或55所述的装置,其特征在于,所述处理模块用于发起对流水线环境的保护,具体包括:将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述第二报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 一种控制器,其特征在于,与逻辑交换机Switch相连接,所述逻辑Switch包括至少两个物理Switch;所述控制器包括:处理器,用于将逻辑Switch的多级流表中各流表分配给每个所述物理Switch,所述多级流表为所述逻辑Switch的流水线;发送器,用于发送映射信息,以使每个所述物理Switch获得所述映射信息,所述映射信息包括所述多级流表中各流表与所述物理Switch的映射关系;所述发送器,还用于向所述逻辑Switch发送流表项,以使每个所述物理Switch获得与其对应的流表项,并根据所述流表项、或者根据所述流表项和所述映射信息对接收到的数据报文进行处理,所述流表项为所述控制器为每个所述物理Switch分配的流表集合中各流表的内容信息。
- 根据权利要求57所述的控制器,其特征在于,所述至少两个物理Switch包括主Switch和第一扩展Switch,其中,所述控制器至少与所述主Switch连接,所述第一扩展Switch至少与所述主Switch连接;则所述发送器用于发送映射信息,具体包括:至少向所述主Switch发送映射信息,以使所述主Switch接收到所述映射信息,使得所述第一扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch发送的映射信息;所述发送器还用于向所述逻辑Switch发送流表项,具体包括:至少向所述主Switch发送所述逻辑Switch的流表项,以使所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与每个所述物理Switch对应的流表项,使得所述第一扩展Switch接收到的流表项包括所述控制器和/或所述 主Switch发送的流表项。
- 根据权利要求58所述的控制器,其特征在于,所述物理Switch还包括第二扩展Switch,所述第二扩展Switch至少与所述第一扩展Switch连接;则所述发送器用于发送映射信息,具体包括:至少向所述主Switch发送映射信息,以使所述主Switch接收到所述映射信息,使得所述第一扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch发送的映射信息,并且所述第二扩展Switch接收到的映射信息包括所述控制器和/或所述主Switch和/或所述第一扩展Switch发送的映射信息;所述发送器还用于向所述逻辑Switch发送流表项,具体包括:至少向所述主Switch发送所述逻辑Switch的流表项,以使所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与所述主Switch对应的流表项以及与所述第一扩展Switch和/或所述第二扩展Switch对应的流表项,使得所述第一扩展Switch接收到的流表项包括所述控制器和/或所述主Switch发送的与所述第一扩展Switch对应的流表项,并且使得所述第二扩展Switch接收到的流表项包括所述控制器和/或所述主Switch和/或所述第一扩展Switch发送的与所述第二扩展Switch对应的流表项。
- 根据权利要求58或59所述的控制器,其特征在于,所述处理器为所述主Switch分配的流表至少包括所述逻辑Switch的多级流表中的第一级流表table0,使得所述主Switch在接收到所述数据报文时通过所述table0对所述数据报文进行处理。
- 根据权利要求57~60中任一项所述的控制器,其特征在于,所述发送器还用于向所述逻辑Switch发送流表项,具体包括:向所述逻辑Switch发送流表项,使得当前物理Switch在接收到数据报文时,通过当前流表对所述数据报文进行处理,并根据所述发送器发送的映射信息判断下一跳流表的是否位于所述当前物理Switch中,若是,则将所述数据报文跳转到所述下一跳流表继续进行处理,若否,则发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的物理Switch中。
- 根据权利要求57~60中任一项所述的控制器,其特征在于,所述发送器还用于向所述逻辑Switch发送流表项,具体包括:在待发送流表项中包括流表跳转指令时,判断下一跳流表是否位于所述当前物理Switch中;若是, 则向所述当前物理Switch发送包含所述流表跳转指令的流表项,使得所述当前物理Switch将所述数据报文跳转到所述下一跳流表中继续进行处理;若否,则将所述待发送流表项中的流表跳转指令替换为Switch转发指令,并向所述当前物理Switch发送包含所述Switch转发指令的流表项,使得所述当前物理Switch发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的物理Switch中。
- 根据权利要求61或62所述的控制器,其特征在于,所述对流水线环境的保护为所述当前物理Switch将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求61~63中任一项所述的控制器,其特征在于,所述对流水线环境的保护,用于使得所述下一跳流表对应的物理Switch对其接收到的报文封装包进行解析获得解析信息,以根据所述解析信息进行流水线环境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息。
- 根据权利要求61~63中任一项所述的控制器,其特征在于,所述发送器发送的与所述扩展Switch对应的流表项包括用于进行流水线恢复的流表项;则所述发送器,还用于向所述扩展Switch发送所述用于进行流水线恢复的流表项,使得所述扩展Switch将所述流表项添加到所述扩展Switch的第一级流表table0’中,并在接收到所述报文封装包时,通过所述table0’中添加的流表项进行对流水线环境的恢复。
- 根据权利要求65所述的控制器,其特征在于,所述报文封装包中包括下一跳流表ID,所述发送器发送的用于进行流水线恢复的流表项包括匹配部分和执行指令,所述匹配部分用于所述扩展Switch将所述下一跳流表ID作为所述流表项对应的匹配对象,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述对流水线环境的恢复为所述扩展Switch通过所述table0’中的流表项对其接收到的报文封装包进行匹配,在所述下一跳流表ID与所述table0’ 中的流表项匹配时,根据匹配结果顺序执行所述已匹配的流表项中的所述流表恢复指令和/或所述流表跳转指令。
- 一种主交换机,其特征在于,所述主交换机Switch为与控制器相连接的逻辑Switch中的物理Switch,其中,所述逻辑Switch包括至少两个物理Switch,所述至少两个物理Switch包括所述主Switch和扩展Switch,所述控制器至少与所述主Switch连接;所述主交换机包括:接收器,用于接收所述控制器发送的映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;所述接收器,还用于接收所述控制器发送的流表项,所述接收器接收到的流表项为所述控制器为所述主Switch分配的,或者所述控制器为主Switch和所述扩展Switch分配的流表集合中各流表的内容信息;处理器,用于根据所述接收器接收的流表项、或者根据所述接收器接收的流表项和映射信息对所述主Switch接收到的数据报文进行处理。
- 根据权利要求67所述的主交换机,其特征在于,还包括:发送器,还用于在所述接收器接收所述控制器发送的映射关系之后,向与其连接的扩展Switch发送所述映射信息;所述发送器,还用于在所述接收器接收所述控制器发送的流表项之后,向与其连接的扩展Switch发送所述控制器分配的流表项。
- 根据权利要求67或68所述的主交换机,其特征在于,所述主Switch所属的逻辑Switch中,所述扩展Switch包括第一扩展Switch和第二扩展Switch,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少与所述第一扩展Switch连接;所述发送器用于向与其连接的扩展Switch发送所述映射信息,具体包括:向所述第一扩展Switch和/或所述第二扩展Switch发送所述映射信息;所述发送器还用于向与其连接的扩展Switch发送所述控制器分配的流表项,具体包括:向所述第一扩展Switch和/或所述第二扩展Switch发送所述控制器分配的流表项,以使所述扩展Switch根据与其对应流表项和所述映射信息对接收到的数据报文进行处理。
- 根据权利要求67~69中任一项所述的主交换机,其特征在于,所述接收器接收到的映射信息包括所述控制器为主Switch分配的流表,所述流表 至少包括所述逻辑Switch的多级流表中的第一级流表table0;则所述处理器,具体用于根据所述接收器接收的流表项、或者根据所述接收器接收的流表项和映射信息,通过所述table0对所述接收到的数据报文进行处理。
- 根据权利要求67~70中任一项所述的主交换机,其特征在于,所述处理器包括:具体用于在接收到数据报文时,对所述数据报文进行处理;并根据所述接收器接收的映射信息判断下一跳流表是否位于所述主Switch中,若是,则将所述数据报文跳转到所述下一跳流表中继续进行处理,若否,则发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求67~70中任一项所述的主交换机,其特征在于,所述接收器还用于接收所述控制器发送的流表项,具体包括:接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项,所述流表项中的流表跳转指令或Switch转发指令为所述控制器根据所述流表项中的下一跳流表是否位于所述主Switch中确定的,若是,所述流表项中包括流表跳转指令,若否,所述流表项中包括Switch转发指令;则所述处理器,具体用于在接收到的所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,所述处理器,具体用于在接收到的所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成报文封装包,并将所述报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求71或72所述的主交换机,其特征在于,所述处理器发起对流水线环境的保护,包括:将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求71~73中任一项所述的主交换机,其特征在于,所述对流水线环境的保护,用于使得所述下一跳流表对应的扩展Switch对其接收到的报文封装包进行解析获得解析信息,以根据所述解析信息进行流水线环 境的恢复,并将所述数据报文跳转到下一跳流表中继续进行处理,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息。
- 一种扩展交换机,其特征在于,所述扩展交换机Switch为与控制器相连接的逻辑Switch中的物理Switch,其中,所述逻辑Switch包括多个物理Switch,所述多个物理Switch包括主Switch和所述扩展Switch,所述扩展Switch包括第一扩展Switch和第二扩展Switch,所述控制器至少与所述主Switch连接,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少与所述第一扩展Switch连接;所述扩展交换机包括:接收器,用于接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;所述接收器,还用于接收所述控制器和/或所述主Switch和/或其它扩展Switch发送的与当前扩展Switch对应的流表项,所述接收器接收到的流表项为所述控制器为所述当前扩展Switch分配的流表集合中各流表的内容信息;处理器,用于根据所述接收器接收的流表项、或者根据所述接收器接收的流表项和映射信息对所述当前扩展Switch接收到的第一报文封装包进行处理,所述第一述报文封装包为上一跳流表所在的物理Switch将其接收到的数据报文和对所述数据报文进行处理的相关信息封装在一起生成的。
- 根据权利要求75所述的扩展交换机,其特征在于,所述接收器接收到的映射信息中,所述逻辑Switch的多级流表中的第一级流表table0与所述主Switch对应。
- 根据权利要求75或76所述的扩展交换机,其特征在于,所述接收器,还用于在接收到与所述当前扩展Switch对应的流表项之后,接收所述第一报文封装包;所述处理器,具体用于在确定出所述接收器接收的第一报文封装包中的下一跳流表编号ID位于其它物理Switch中时,根据所述接收器接收的映射信息将所述接收器接收到的第一报文封装包转发给所述下一跳流表ID对应的物理Switch。
- 根据权利要求75或76所述的扩展交换机,其特征在于,所述接收器,还用于在接收到与所述当前扩展Switch对应的流表项之后,接收到所述 第一报文封装包;所述处理器,具体用于在确定出所述接收器接收的第一报文封装包中的下一跳流表编号ID位于所述当前扩展Switch中时,对所述接收器接收到的第一报文封装包进行流水线环境的恢复,以获取所述数据报文。
- 根据权利要求78所述的扩展交换机,其特征在于,所述处理器,具体用于对所述接收器接收到的第一报文封装包进行解析获得解析信息,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata);并根据所述解析信息进行流水线环境的恢复,将所述数据报文跳转到下一跳流表中继续进行处理。
- 根据权利要求78所述的扩展交换机,其特征在于,所述接收器接收到的流表项包括所述控制器发送的用于进行流水线恢复的流表项;则所述处理器,具体用于将所述用于进行流水线恢复的流表项添加到所述当前扩展Switch的第一级流表table0’中;并通过所述table0’中添加的流表项对所述接收器接收到的第一报文封装包进行对流水线环境的恢复。
- 根据权利要求80所述的扩展交换机,其特征在于,所述接收器接收到的第一报文封装包中包括下一跳流表ID,所述接收器接收到的用于进行流水线恢复的流表项包括匹配部分和执行指令,其中,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述处理器用于通过所述table0’中添加的流表项对所述接收器接收到的所述第一报文封装包进行对流水线环境的恢复,具体包括:通过所述table0’中的流表项对所述接收器接收到的第一报文封装包进行匹配;并在所述table0’中的流表项匹配成功时,根据匹配结果顺序执行所述已匹配的流表项中的流表恢复指令和/或流表跳转指令。
- 根据权利要求78~81中任一项所述的扩展交换机,其特征在于,所述处理器,还用于对所述接收器接收到的第一报文封装包进行流水线环境的恢复之后,在获取到所述数据报文时,通过所述当前流表对所述数据报文进行处理;则所述处理器,还用于根据所述映射信息判断下一跳流表是否位于所述 当前扩展Switch中;若是,则将所述数据报文跳转到所述下一跳流表中继续进行处理;若否,则发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求78~81中任一项所述的扩展交换机,其特征在于,所述接收器,还用于接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项,所述流表项中的流表跳转指令或Switch转发指令为所述控制器根据所述流表项中的所述下一跳流表是否位于所述当前扩展Switch中确定的,若是,所述流表项中包括流表跳转指令,若否,所述流表项中包括Switch转发指令;则所述处理器,还用于对所述接收器接收到的第一报文封装包进行流水线环境的恢复之后,获取到所述第一报文封装包中的数据报文,在所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,获取到所述第一报文封装包中的数据报文,在所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求82或83所述的扩展交换机,其特征在于,所述处理器用于发起对流水线环境的保护,具体包括:将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述第二报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 一种交换机处理系统,其特征在于,包括:控制器和逻辑Switch,所述逻辑Switch包括至少两个物理Switch,所述系统包括:所述控制器,用于将逻辑Switch的多级流表中各流表分配给每个所述物理Switch,所述多级流表为所述逻辑Switch的流水线;所述控制器,还用于发送映射信息,所述映射信息包括逻辑Switch的多级流表中各流表分别与所述物理Switch的映射关系;每个所述物理Switch,用于接收所述映射信息;所述控制器,还用于向所述逻辑Switch发送流表项;每个所述物理Switch,还用于接收所述流表项,所述流表项为所述控制器为每个所述物理Switch分配的流表集合中各流表的内容信息;每个所述物理Switch,还用于根据所述流表项、或者根据所述的流表项和所述映射信息对其接收的数据报文进行处理。
- 根据权利要求85所述的系统,其特征在于,所述至少两个物理Switch包括主Switch和扩展Switch,其中,所述控制器至少与所述主Switch连接,所述扩展Switch至少与所述主Switch连接;则所述控制器用于发送映射信息,具体包括:至少向所述主Switch发送映射信息;所述主Switch,还用于在接收到所述控制器发送的映射关系之后,向与其连接的扩展Switch发送所述映射信息;则所述控制器还用于向所述逻辑Switch发送流表项,具体包括:至少向所述主Switch发送所述逻辑Switch的流表项,所述主Switch接收到的流表项包括与所述主Switch对应的流表项,或者与每个所述物理Switch对应的流表项;所述主Switch,还用于在接收到所述控制器发送的流表项之后,向与其连接的扩展Switch发送所述控制器分配的流表项。
- 根据权利要求85或86所述的系统,其特征在于,所述扩展Switch包括第一扩展Switch和第二扩展Switch,所述主Switch至少与所述第一扩展Switch连接,所述第二扩展Switch至少与所述第一扩展Switch连接;所述主Switch用于向与其连接的扩展Switch发送所述映射信息,具体包括:向所述第一扩展Switch和/或所述第二扩展Switch发送所述映射信息;所述主Switch用于向与其连接的扩展Switch发送所述控制器分配的流表项,具体包括:向所述第一扩展Switch和/或所述第二扩展Switch发送所述控制器分配的流表项。
- 根据权利要求87所述的系统,其特征在于,每个所述扩展Switch用于接收所述映射信息,具体包括:所述第一扩展Switch,用于接收所述控制器和/或所述主Switch发送的映射信息;所述第二扩展Switch,用于接收所述控制器和/或主Switch和/或所述第一扩展Switch发送的映射信息;每个所述扩展Switch用于接收所述流表项,具体包括:所述第一扩展 Switch,用于接收所述控制器和/或所述主Switch发送的流表项;所述第二扩展Switch,用于接收所述控制器和/或主Switch和/或所述第一扩展Switch发送的流表项。
- 根据权利要求85~88中任一项所述的系统,其特征在于,所述控制器为所述主Switch分配的流表至少包括所述逻辑Switch的多级流表中的第一级流表table0;则所述主Switch用于对其接收的数据报文进行处理,具体包括:根据所述流表项、或者根据所述流表项和所述映射信息,通过所述table0对接收到的所述数据报文进行处理。
- 根据权利要求85~89中任一项所述的系统,其特征在于,所述主Switch对其接收的数据报文进行处理,具体包括:在接收到所述数据报文时,对所述数据报文进行处理;并根据所述映射信息判断下一跳流表是否位于所述主Switch中,若是,则将所述数据报文跳转到所述下一跳流表中继续进行处理,若否,则发起对流水线环境的保护以生成第一报文封装包,并将所述第一报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求85~89中任一项所述的系统,其特征在于,所述控制器用于向主Switch发送流表项,具体包括:在待发送流表项中包括流表跳转指令时,判断下一跳流表是否位于所述主Switch中;若是,则向所述主Switch发送包含所述流表跳转指令的流表项;若否,则将所述待发送流表项中的流表跳转指令替换为Switch转发指令,并向所述主Switch发送包含所述Switch转发指令的流表项;相应地,所述主Switch用于接收流表项,具体包括:接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项;则所述主Switch用于对其接收的数据报文进行处理,具体包括:在接收到的所述数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转到所述下一跳流表中继续进行处理;在接收到的所述数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成第一报文封装包,并将所述第一报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求90或91所述的系统,其特征在于,所述主Switch用 于发起对流水线环境的保护,具体包括:所述主Switch将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述第一报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括所述下一跳流表编号ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
- 根据权利要求85~92中任一项所述的系统,其特征在于,所述当前扩展Switch,还用于在接收到与其对应的流表项之后,接收所述第一报文封装包;所述当前扩展Switch,还用于判断所述第一报文封装包中的下一跳流表编号ID是否位于所述当前扩展Switch,若否,则根据所述映射信息将所述第一报文封装包转发给所述下一跳流表ID对应的物理Switch,若是,则对所述第一报文封装包进行流水线环境的恢复,以获取所述数据报文。
- 根据权利要求93所述的系统,其特征在于,所述当前扩展Switch用于对所述第一报文封装包进行流水线环境的恢复,具体包括:对所述第一报文封装包进行解析获得解析信息,所述解析信息包括所述数据报文和对所述数据报文进行处理的相关信息;并根据所述解析信息进行流水线环境的恢复,将所述数据报文跳转到下一跳流表中继续进行处理。
- 根据权利要求93所述的系统,其特征在于,所述当前扩展Switch接收到的流表项包括所述控制器发送的用于进行流水线恢复的流表项;则所述当前扩展Switch,还用于将所述用于进行流水线恢复的流表项添加到所述当前扩展Switch的第一级流表table0’中;并通过所述table0’中添加的流表项对所述第一报文封装包进行对流水线环境的恢复。
- 根据权利要求95所述的系统,其特征在于,所述当前扩展Switch接收到的所述第一报文封装包中包括下一跳流表ID,所述当前扩展Switch接收到的用于进行流水线恢复的流表项包括匹配部分和执行指令,所述执行指令包括流表恢复指令和/或流表跳转指令;则所述当前扩展Switch用于通过所述table0’中添加的流表项对所述第一报文封装包进行对流水线环境的恢复,具体包括:通过所述table0’中的流表项对所述接收器接收到的第一报文封装包进行匹配;并在所述table0’中的流表项匹配成功时,根据匹配结果顺序执行所述已匹配的流表项中的流表恢复 指令和/或流表跳转指令。
- 根据权利要求93~96中任一项所述的系统,其特征在于,所述当前扩展Switch,还用于对所述第一报文封装包进行流水线环境的恢复之后,在获取到所述数据报文时,通过所述当前流表对所述数据报文进行处理;则所述当前扩展Switch,还用于根据所述映射信息判断下一跳流表是否位于所述当前扩展Switch中;若是,则将所述数据报文跳转到所述下一跳流表中继续进行处理;若否,则发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求93~96中任一项所述的系统,其特征在于,所述控制器用于向当前扩展Switch发送流表项,具体包括:在待发送流表项中包括流表跳转指令时,判断下一跳流表是否位于所述当前扩展Switch中;若是,则向所述当前扩展Switch发送包含所述流表跳转指令的流表项;若否,则将所述待发送流表项中的流表跳转指令替换为Switch转发指令,并向所述当前扩展Switch发送包含所述Switch转发指令的流表项;相应地,所述当前扩展Switch用于接收流表项,具体包括:接收所述控制器发送的包括流表跳转指令或Switch转发指令的流表项;则所述当前扩展Switch,还用于对所述第一报文封装包进行流水线环境的恢复之后,获取到所述第一报文封装包中的数据报文,并通过所述当前流表对所述获取的数据报文进行处理。
- 根据权利要求98所述的系统,其特征在于,所述当前扩展Switch用于对所述获取的数据报文进行处理,具体包括:在所述获取的数据报文匹配到的流表项中包括所述流表跳转指令时,将所述数据报文跳转到所述下一跳流表中继续进行处理;或者,在所述获取的数据报文匹配到的流表项中包括所述Switch转发指令时,发起对流水线环境的保护以生成第二报文封装包,并将所述第二报文封装包发送到所述下一跳流表对应的扩展Switch中。
- 根据权利要求97~99中任一项所述的系统,其特征在于,所述当前扩展Switch用于发起对流水线环境的保护,具体包括:将对所述数据报文进行处理的相关信息和所述数据报文同时封装于所述第二报文封装包中,其中,所述对所述数据报文进行处理的相关信息至少包括下一跳流表ID,还包括任意数量的以下信息:输入端口(Ingress port)、所述数据报文当前对应的动作集(Action set)和流表间信息(Metadata)。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017522972A JP6448785B2 (ja) | 2014-10-28 | 2014-10-28 | スイッチ処理方法、コントローラ、スイッチ、およびスイッチ処理システム |
EP14905150.0A EP3197106B1 (en) | 2014-10-28 | 2014-10-28 | Switch processing method, controller, switch, and switch processing system |
PCT/CN2014/089701 WO2016065536A1 (zh) | 2014-10-28 | 2014-10-28 | 交换机处理方法、控制器、交换机及交换机处理系统 |
BR112017008532-1A BR112017008532A2 (zh) | 2014-10-28 | 2014-10-28 | Switch approach, controllers, switches and switch processing system |
RU2017115884A RU2666243C1 (ru) | 2014-10-28 | 2014-10-28 | Способ коммутационной обработки, контроллер, коммутатор и система коммутационной обработки |
CN201480024931.3A CN105745877B (zh) | 2014-10-28 | 2014-10-28 | 交换机处理方法、控制器、交换机及交换机处理系统 |
KR1020177012348A KR101996337B1 (ko) | 2014-10-28 | 2014-10-28 | 교환기 처리 방법, 제어기, 교환기 및 교환기 처리 시스템 |
US15/499,163 US10498637B2 (en) | 2014-10-28 | 2017-04-27 | Switch processing method, controller, switch, and switch processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/089701 WO2016065536A1 (zh) | 2014-10-28 | 2014-10-28 | 交换机处理方法、控制器、交换机及交换机处理系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/499,163 Continuation US10498637B2 (en) | 2014-10-28 | 2017-04-27 | Switch processing method, controller, switch, and switch processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016065536A1 true WO2016065536A1 (zh) | 2016-05-06 |
Family
ID=55856356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/089701 WO2016065536A1 (zh) | 2014-10-28 | 2014-10-28 | 交换机处理方法、控制器、交换机及交换机处理系统 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10498637B2 (zh) |
EP (1) | EP3197106B1 (zh) |
JP (1) | JP6448785B2 (zh) |
KR (1) | KR101996337B1 (zh) |
CN (1) | CN105745877B (zh) |
BR (1) | BR112017008532A2 (zh) |
RU (1) | RU2666243C1 (zh) |
WO (1) | WO2016065536A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10536379B2 (en) * | 2017-09-28 | 2020-01-14 | Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic. A.S. | System and method for control traffic reduction between SDN controller and switch |
CN107623635B (zh) * | 2017-10-30 | 2020-07-21 | 深圳市德赛微电子技术有限公司 | 一种网络交换芯片可识别流表的智能匹配方法 |
CN112764679B (zh) * | 2021-01-19 | 2022-04-12 | 福建天泉教育科技有限公司 | 一种动态扩容的方法及终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546351A (zh) * | 2012-03-15 | 2012-07-04 | 北京邮电大学 | openflow网络和现有IP网络互联的系统和方法 |
US20130003549A1 (en) * | 2011-06-30 | 2013-01-03 | Broadcom Corporation | Resilient Hashing for Load Balancing of Traffic Flows |
CN103200101A (zh) * | 2013-04-15 | 2013-07-10 | 昆山天元昌电子有限公司 | 基于交换芯片的openflow多表查询的方法及装置 |
CN103347013A (zh) * | 2013-06-21 | 2013-10-09 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
US20140169158A1 (en) * | 2012-12-17 | 2014-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Extending the reach and effectiveness of header compression in access networks using sdn |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8391282B1 (en) * | 2001-07-02 | 2013-03-05 | Haw-Minn Lu | Systems and methods for overlaid switching networks |
JP2007274305A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | リングネットワーク、通信装置及びそれらに用いる運用管理方法 |
EP2804350B1 (en) * | 2009-04-01 | 2019-07-24 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
CN103168453B (zh) * | 2010-10-15 | 2016-08-03 | 日本电气株式会社 | 交换机系统和数据转发方法 |
AU2012296330B2 (en) * | 2011-08-17 | 2016-03-17 | Nicira, Inc. | Hierarchical controller clusters for interconnecting different logical domains |
AU2013249152B2 (en) * | 2012-04-18 | 2016-04-28 | Nicira, Inc. | Using transactions to minimize churn in a distributed network control system |
US10263848B2 (en) * | 2013-03-20 | 2019-04-16 | Wolting Holding B.V. | Compiler for and method for software defined networks |
CN103428094B (zh) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
-
2014
- 2014-10-28 WO PCT/CN2014/089701 patent/WO2016065536A1/zh active Application Filing
- 2014-10-28 BR BR112017008532-1A patent/BR112017008532A2/zh not_active Application Discontinuation
- 2014-10-28 RU RU2017115884A patent/RU2666243C1/ru active
- 2014-10-28 EP EP14905150.0A patent/EP3197106B1/en active Active
- 2014-10-28 KR KR1020177012348A patent/KR101996337B1/ko active IP Right Grant
- 2014-10-28 JP JP2017522972A patent/JP6448785B2/ja active Active
- 2014-10-28 CN CN201480024931.3A patent/CN105745877B/zh active Active
-
2017
- 2017-04-27 US US15/499,163 patent/US10498637B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130003549A1 (en) * | 2011-06-30 | 2013-01-03 | Broadcom Corporation | Resilient Hashing for Load Balancing of Traffic Flows |
CN102546351A (zh) * | 2012-03-15 | 2012-07-04 | 北京邮电大学 | openflow网络和现有IP网络互联的系统和方法 |
US20140169158A1 (en) * | 2012-12-17 | 2014-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Extending the reach and effectiveness of header compression in access networks using sdn |
CN103200101A (zh) * | 2013-04-15 | 2013-07-10 | 昆山天元昌电子有限公司 | 基于交换芯片的openflow多表查询的方法及装置 |
CN103347013A (zh) * | 2013-06-21 | 2013-10-09 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105745877B (zh) | 2019-04-12 |
CN105745877A (zh) | 2016-07-06 |
JP2017532912A (ja) | 2017-11-02 |
EP3197106B1 (en) | 2020-01-01 |
KR20170068525A (ko) | 2017-06-19 |
JP6448785B2 (ja) | 2019-01-09 |
US10498637B2 (en) | 2019-12-03 |
EP3197106A4 (en) | 2017-11-15 |
BR112017008532A2 (zh) | 2018-06-19 |
KR101996337B1 (ko) | 2019-07-04 |
US20170289026A1 (en) | 2017-10-05 |
EP3197106A1 (en) | 2017-07-26 |
RU2666243C1 (ru) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200204486A1 (en) | Network interface card, computing device, and data packet processing method | |
US20200213222A1 (en) | Network Interface Card, Computing Device, and Data Packet Processing Method | |
US10831527B2 (en) | Providing link aggregation and high availability through network virtualization layer | |
US20210149706A1 (en) | Data Processing Method and Related Device | |
US10324137B2 (en) | Intelligent method for calibrating battery capacity | |
US10193811B1 (en) | Flow distribution using telemetry and machine learning techniques | |
US20160320827A1 (en) | Method and system for boosting power supply | |
CN110958169B (zh) | 根据需求生成灵活、可编程且可扩展的网络隧道 | |
US20120207026A1 (en) | Computer-readable medium storing communication control program, information processing device, and packet communication method | |
US10031685B2 (en) | Power management of storage subsystem | |
US10003503B2 (en) | Tunnel type selection method and apparatus | |
WO2016065536A1 (zh) | 交换机处理方法、控制器、交换机及交换机处理系统 | |
US11381497B2 (en) | Path selection method and device | |
CN105391647A (zh) | 一种流量控制的方法及系统 | |
CN108650337B (zh) | 一种服务器探测方法、系统及存储介质 | |
CN107018072B (zh) | 一种数据帧发送方法和接入设备 | |
US11689447B2 (en) | Enhanced dynamic encryption packet segmentation | |
US9819571B2 (en) | Control apparatus and method for supplying switch with entry | |
CN117411878A (zh) | 云系统、报文处理方法、装置、及网卡 | |
CN116599839A (zh) | 云网关系统、数据处理方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14905150 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014905150 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017522972 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20177012348 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2017115884 Country of ref document: RU Kind code of ref document: A |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112017008532 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112017008532 Country of ref document: BR Kind code of ref document: A2 Effective date: 20170425 |