CN102611619B - 一种转发数据报文的方法和路由设备 - Google Patents
一种转发数据报文的方法和路由设备 Download PDFInfo
- Publication number
- CN102611619B CN102611619B CN201210043198.2A CN201210043198A CN102611619B CN 102611619 B CN102611619 B CN 102611619B CN 201210043198 A CN201210043198 A CN 201210043198A CN 102611619 B CN102611619 B CN 102611619B
- Authority
- CN
- China
- Prior art keywords
- vlan
- routing
- configuration
- routing interface
- outside
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种转发数据报文的方法和路由设备,其中,所述方法包括:建立路由接口属性表,并以端口号、内层VLAN ID、外层VLAN ID作为路由接口属性表的索引;按照路由接口的类型和配置确定所述索引;解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性;根据接收到的数据报文信息和所述路由接口属性进行路由转发。本发明统一了不同路由接口类型的转发表项和转发流程。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种转发数据报文的方法和路由设备。
背景技术
在网络高速发展的今天,基于网络处理器的路由设备凭借其灵活的可编程性和高处理性能得到越来越广泛的应用,但其可支持的指令空间和资源有限。
路由口是路由设备上的一个物理端口,作为路由设备的路由接口,进行三层路由的配置。路由口子接口是路由口基于虚拟局域网(Virtual Local Area Network,VLAN)划分的子接口,也能作为路由设备的路由接口。路由口子接口又可以分为路由口VLAN子接口和路由口QinQ(802.1Q in 802.1Q的缩写)子接口,其中,路由口VLAN子接口是按照单层VLAN划分的子接口,路由口QinQ子接口是按照双层VLAN划分的子接口。
基于网络处理器的路由设备端口(如gei_1/1)可同时支持路由口、路由口VLAN子接口及路由口QinQ子接口,如图1所示。
在现有的路由接口路由转发数据报文的过程中,需要针对不同的路由接口类型设计不同的转发表项以及不同的数据报文处理流程,不但极大的占用资源,而且由于区分接口类型进行处理,浪费指令空间,极大的影响路由设备的性能,对控制层面来说也增加了负担。另外,同时由于不同接口类型不同处理,不利于业务扩展,严重影响了路由设备的可扩展性和兼容性。
发明内容
本发明提供了一种转发数据报文的方法和路由设备,以解决如何统一不同路由接口类型的转发表项和转发流程的技术问题。
为解决上述技术问题,本发明提供了一种转发数据报文的方法,所述方法包括:
建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID作为所述路由接口属性表的索引;
按照路由接口的类型和配置确定所述索引;
解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性;
根据接收到的数据报文信息和所述路由接口属性进行路由转发。
进一步地,所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口。
进一步地,按照路由接口的类型和配置确定所述索引包括:
若配置的路由接口类型是路由口,则用配置的端口号、内层VLAN ID0xFFF、外层VLAN ID 0xFFF作为所述索引;
若配置的路由接口类型是路由口VLAN子接口,则用配置的端口号、内层VLAN ID0xFFF、配置的外层VLAN ID作为所述索引;
若配置的路由接口类型是路由口QinQ子接口,则用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引。
进一步地,解析接收到的数据报文,根据解析结果用端口号、内层VLANID、外层VLAN ID查找路由接口属性表包括:
解析所述接收到的数据报文;
若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;
若所述接收到的数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;
若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表。
为解决上述技术问题,本发明还提供了一种转发数据报文的路由设备,所述路由设备包括配置模块和数据报文转发模块,其中,
所述配置模块,用于建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID作为所述路由接口属性表的索引;按照路由接口的类型和配置确定所述索引;
所述数据报文转发模块,用于解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文信息和所述路由接口属性进行路由转发。
进一步地,所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口。
进一步地,所述配置模块,用于当配置的路由接口类型是路由口时,用配置的端口号、内层VLAN ID 0xFFF、外层VLAN ID 0xFFF作为所述索引;当配置的路由接口类型是路由口VLAN子接口时,用配置的端口号、内层VLAN ID 0xFFF、配置的外层VLAN ID作为所述索引;当配置的路由接口类型是路由口QinQ子接口时,用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引。
进一步地,所述数据报文转发模块,用于解析所述数据报文;若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文携带一层VLANID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;获取路由接口属性,根据接收到的数据报文信息和所述路由接口属性进行路由转发。
上述技术方案提取路由接口的端口号、内层VLAN ID、外层VLAN ID这三个关键性因素作为路由接口属性表的索引,统一了转发表项;在统一了转发表项的基础上,对接收的数据报文可采用相同的处理流程进行路由转发,减轻了控制层面的负担;由于上述技术方案采用统一的转发表项和数据报文转发流程,也提高了网络处理器的可扩展性和兼容性。
附图说明
图1为现有技术路由设备上的路由接口示意图;
图2为本实施例的转发数据报文的方法流程图;
图3为本实施例的按照路由接口的类型和配置确定所述索引的方法流程图;
图4为本实施例的转发数据报文的路由设备组成模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图2为本实施例的转发数据报文的方法流程图。
S201建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLANID)、外层VLANID作为所述路由接口属性表的索引;
所述接口属性表中记录的路由接口属性包括:路由接口的VPN属性,路由接口的状态是up还是down,是否开启组播等;
S202按照路由接口的类型和配置确定所述索引;
所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口;
若配置的路由接口类型是路由口,则用配置的端口号、内层VLAN ID0xFFF、外层VLAN ID 0xFFF作为所述索引;
若配置的路由接口类型是路由口VLAN子接口,则用配置的端口号、内层VLAN ID0xFFF、配置的外层VLAN ID作为所述索引;
若配置的路由接口类型是路由口QinQ子接口,则用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引;
上述按照路由接口的类型和配置确定所述索引条件值的流程可如图3所示。
表1为路由接口属性表。
表1
端口 | 内层VLAN | 外层VLAN | 路由接口属性 |
N1 | 0xFFF | 0xFFF | M1 |
N1 | 0xFFF | X1 | M2 |
N1 | Y2 | X2 | M3 |
N2 | 0xFFF | 0xFFF | M4 |
N2 | 0xFFF | X1 | M5 |
S203解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性;
若所述接收数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLANID、外层VLAN ID,根据解析出的端口号、所述内层VLANID和外层VLAN ID查找路由接口属性表;
若所述接收数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;
若所述接收数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLANID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;
S204根据接收到的数据报文信息和所述路由接口属性进行路由转发;
若在步骤S203中根据解析出的端口号、所述内层VLAN ID和外层VLANID没有查找到路由接口属性表,则丢弃所述数据报文。
根据802.1Q(即Virtual Bridged Local Area Networks)协议的规定,VLANID共12bit,VLAN ID 0-VLAN ID 0xFFF一共代表4096个VLAN,其中VLANID 0和VLAN ID 0xFFF为保留使用,VLAN ID1-VLAN ID4094提供给用户使用,因此不存在用户报文携带的VLAN ID为0xFFF,用户也不会配置VLANID 0xFFF的路由子接口。因此当配置路由口时,用端口号、内层VLAN ID0xFFF、外层VLAN ID 0xFFF作为路由接口属性表索引,以及当配置路由口VLAN子接口时,用端口号、内层VLAN ID 0xFFF和配置的VLAN ID作为路由接口属性表索引,均不会和用户的配置重合;查找时,当报文不带VLAN,用端口号、内层VLAN ID 0xFFF、外层VLAN ID0xFFF查找不会和正常报文所带VLAN重合,当报文带一层VLAN,用端口号、内层VLAN ID0xFFF、所带外层VLAN ID查找也不会和正常报文所带VLAN重合。
图4为本实施例的转发数据报文的路由设备组成模块图。
所述路由设备包括配置模块和数据报文转发模块,其中,
所述配置模块,用于建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID作为所述路由接口属性表的索引;按照路由接口的类型和配置确定所述索引;
所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口;
所述配置模块,用于当配置的路由接口类型是路由口时,用配置的端口号、内层VLAN ID 0xFFF、外层VLAN ID 0xFFF作为所述索引,如表1所示,配置路由口N1,就用端口N1,内层VLAN ID 0xFFF、外层VLAN ID 0xFFF作为路由属性接口表索引;当配置的路由接口类型是路由口VLAN子接口时,用配置的端口号、内层VLAN ID 0xFFF、配置的外层VLAN ID作为所述索引,如表1所示,配置端口N1、外层VLAN ID X1的路由口VLAN子接口,就用端口N1、内层VLAN ID 0xFFF、外层VLAN ID X1作为路由属性接口表索引;当配置的路由接口类型是路由口QinQ子接口时,用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引,如表1所示,配置端口N1、内层VLAN ID Y2、外层VLAN ID X2的路由口QinQ子接口,就用端口N1、内层VLAN ID Y2、外层VLAN ID X2作为路由属性接口表索引;
所述数据报文转发模块,用于解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文信息和所述路由接口属性进行路由转发;
所述数据报文转发模块,用于解析所述数据报文;若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文信息和所述路由接口属性进行路由转发。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种转发数据报文的方法,其特征在于,所述方法包括:
建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID作为所述路由接口属性表的索引;
按照路由接口的类型和配置确定所述索引;
解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性;
根据接收到的数据报文信息和所述路由接口属性进行路由转发;
其中,所述路由接口属性包括:路由接口的VPN属性,路由接口的状态是up还是down,是否开启组播;
所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口;
按照路由接口的类型和配置确定所述索引进一步包括:
若配置的路由接口类型是路由口,则用配置的端口号、内层VLAN ID0xFFF、外层VLANID 0xFFF作为所述索引;
若配置的路由接口类型是路由口VLAN子接口,则用配置的端口号、内层VLAN ID0xFFF、配置的外层VLAN ID作为所述索引;
若配置的路由接口类型是路由口QinQ子接口,则用配置的端口号、配置的内层VLANID、配置的外层VLAN ID作为所述索引。
2.如权利要求1所述的方法,其特征在于,解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表进一步包括:
解析所述接收到的数据报文;
若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLANID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;
若所述接收到的数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;
若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLANID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表。
3.一种转发数据报文的路由设备,其特征在于,所述路由设备包括配置模块和数据报文转发模块,其中,
所述配置模块,用于建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLANID)、外层VLAN ID作为所述路由接口属性表的索引;按照路由接口的类型和配置确定所述索引;
所述数据报文转发模块,用于解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文信息和所述路由接口属性进行路由转发;
其中,所述路由接口属性包括:路由接口的VPN属性,路由接口的状态是up还是down,是否开启组播;
所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口;
所述配置模块,用于当配置的路由接口类型是路由口时,用配置的端口号、内层VLANID 0xFFF、外层VLAN ID 0xFFF作为所述索引;当配置的路由接口类型是路由口VLAN子接口时,用配置的端口号、内层VLAN ID0xFFF、配置的外层VLAN ID作为所述索引;当配置的路由接口类型是路由口QinQ子接口时,用配置的端口号、配置的内层VLAN ID、配置的外层VLANID作为所述索引。
4.如权利要求3所述的路由设备,其特征在于,
所述数据报文转发模块,用于解析所述数据报文;若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID 查找路由接口属性表;若所述接收到的数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;获取路由接口属性,根据接收到的数据报文信息和所述路由接口属性进行路由转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210043198.2A CN102611619B (zh) | 2012-02-24 | 2012-02-24 | 一种转发数据报文的方法和路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210043198.2A CN102611619B (zh) | 2012-02-24 | 2012-02-24 | 一种转发数据报文的方法和路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102611619A CN102611619A (zh) | 2012-07-25 |
CN102611619B true CN102611619B (zh) | 2018-03-20 |
Family
ID=46528782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210043198.2A Active CN102611619B (zh) | 2012-02-24 | 2012-02-24 | 一种转发数据报文的方法和路由设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102611619B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2932659A4 (en) * | 2012-12-12 | 2016-05-18 | Ericsson Telefon Ab L M | METHOD AND DEVICE FOR VLAN INTERFACE ROUTING |
CN104052660B (zh) * | 2013-03-11 | 2018-09-14 | 南京中兴软件有限责任公司 | 一种多业务承载网络设备转发报文的方法以及设备 |
CN103685028B (zh) * | 2013-11-30 | 2018-06-12 | 许继电气股份有限公司 | 多类型端口相互通信的方法及装置 |
CN104618252A (zh) * | 2015-03-03 | 2015-05-13 | 北京极科极客科技有限公司 | 一种路由器的接口体系的构建方法 |
US9860160B2 (en) * | 2015-12-30 | 2018-01-02 | Stmicroelectronics, Inc. | Multipath switching using per-hop virtual local area network classification |
CN109728992B (zh) * | 2018-11-27 | 2021-09-28 | 苏州盛科通信股份有限公司 | 分配转发域的方法、装置、存储介质及电子装置 |
CN109474527B (zh) * | 2018-12-13 | 2021-04-06 | 新华三技术有限公司成都分公司 | 一种报文转发方法及装置 |
CN114301736B (zh) * | 2021-12-29 | 2023-08-29 | 凯通科技股份有限公司 | 一种混合组网下非对称标签的业务配置方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820392A (zh) * | 2010-03-26 | 2010-09-01 | 中兴通讯股份有限公司 | 一种实现多业务转发的方法和网络处理器 |
CN102148811A (zh) * | 2010-02-10 | 2011-08-10 | 中兴通讯股份有限公司 | 一种实现灵活QinQ的方法及装置 |
CN102546348A (zh) * | 2012-02-08 | 2012-07-04 | 中兴通讯股份有限公司 | 一种网络处理器实现多种三层接口的方法和网络处理器 |
-
2012
- 2012-02-24 CN CN201210043198.2A patent/CN102611619B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148811A (zh) * | 2010-02-10 | 2011-08-10 | 中兴通讯股份有限公司 | 一种实现灵活QinQ的方法及装置 |
CN101820392A (zh) * | 2010-03-26 | 2010-09-01 | 中兴通讯股份有限公司 | 一种实现多业务转发的方法和网络处理器 |
CN102546348A (zh) * | 2012-02-08 | 2012-07-04 | 中兴通讯股份有限公司 | 一种网络处理器实现多种三层接口的方法和网络处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN102611619A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102611619B (zh) | 一种转发数据报文的方法和路由设备 | |
CN104380658B (zh) | 流分类器、业务路由触发器、报文处理的方法和*** | |
CN104158718B (zh) | 一种报文处理方法和装置 | |
CN101820392B (zh) | 一种实现多业务转发的方法和网络处理器 | |
CN101510855B (zh) | 一种QinQ报文的处理方法和装置 | |
CN102611634A (zh) | 一种接入ip网络的方法和边缘设备 | |
CN107925613A (zh) | 业务功能链sfc中用于转发报文的方法、装置和*** | |
CN106664261A (zh) | 一种配置流表项的方法、装置和*** | |
CN105224692A (zh) | 支持多核处理器的sdn多级流表并行查找的***及方法 | |
CN105827495B (zh) | Vxlan网关的报文转发方法和设备 | |
CN107113240A (zh) | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 | |
CN103118149B (zh) | 同一租户内服务器间的通信控制方法及网络设备 | |
US20140169222A1 (en) | Bridging network devices in a hybrid communication network | |
CN104394083B (zh) | 转发表项处理的方法、报文转发的方法及其装置和*** | |
CN107707474A (zh) | 一种路由分配方法及*** | |
CN105515992A (zh) | Vxlan网络中的流表项处理方法及装置 | |
CN105591868A (zh) | 一种虚拟专用网络vpn的接入方法和装置 | |
CN104125128A (zh) | Linux软桥支持VLAN的方法 | |
CN105429879A (zh) | 流表项查询方法、设备及*** | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN104378300B (zh) | 一种在芯片中实现Vxlan二层转发表的处理方法 | |
CN107896188A (zh) | 数据转发方法及装置 | |
CN107360089A (zh) | 一种路由建立方法、业务数据转换方法及装置 | |
CN102195853B (zh) | 一种保存位图的方法和装置 | |
CN103200095B (zh) | 一种跨spb网络访问实现方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |