CN113259241B - Method for improving SRv6 forwarding efficiency and electronic equipment - Google Patents

Method for improving SRv6 forwarding efficiency and electronic equipment Download PDF

Info

Publication number
CN113259241B
CN113259241B CN202110498356.2A CN202110498356A CN113259241B CN 113259241 B CN113259241 B CN 113259241B CN 202110498356 A CN202110498356 A CN 202110498356A CN 113259241 B CN113259241 B CN 113259241B
Authority
CN
China
Prior art keywords
class
matching
list
dependency
type
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
Application number
CN202110498356.2A
Other languages
Chinese (zh)
Other versions
CN113259241A (en
Inventor
张玉婷
张继鹏
刘剑华
任坤
高磊
盛大富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202110498356.2A priority Critical patent/CN113259241B/en
Publication of CN113259241A publication Critical patent/CN113259241A/en
Application granted granted Critical
Publication of CN113259241B publication Critical patent/CN113259241B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Abstract

The invention discloses a method for improving SRv6 forwarding efficiency, which comprises the following steps: and the routing of searching the IPv6 through longest matching according to the IPv6DA encapsulated in the outer layer is realized in advance in the software layer, so that the chip only needs to complete one routing iteration. The invention effectively improves the routing iteration efficiency of SRv6 tunnel scenes, secondly forms a generalized model, and the development of the subsequent SRv6 functional equipment side can only focus on model design without concerning code development, and fully utilizes line card resources to reduce the burden of main control. The invention also provides corresponding electronic equipment.

Description

Method for improving SRv6 forwarding efficiency and electronic equipment
Technical Field
The invention belongs to the technical field of communication, and particularly relates to a method for improving SRv6 forwarding efficiency and electronic equipment.
Background
Future networks are the 5G era oriented networks. In the face of 5G, the carrying net also needs to be adjusted accordingly. SRv6(Segment Routing IPv6, IPv6 Segment Routing) is a forwarding method of IPv6 packet designed based on the concept of source Routing. SRv6 an explicit IPv6 address stack is pressed in by extending the header of IPv6, and the destination address and offset address stack are continuously updated by intermediate nodes for forwarding. The IPv6 address stack is some instantiated SIDs (Segment IDs), and by defining and planning the SIDs, simplification of VPNs (Virtual Private networks), flexible planning of packet forwarding paths, and the like can be achieved. SRv6 tunneling is a routing lookup by longest matching the destination SID, and therefore involves a routing iteration problem on the chip.
As shown in fig. 1. In SRv6 network, if the VPNv4 service from R1 to R8 is forwarded in SRv6-BE (Best Effort), the destination address of the IPv6 encapsulated by the packet is end.DT4 SID (R1,2003:0001:0:8: 100:), and it does not carry IPv6 extension header SRH (Segment Routing header). And distributing the routes in the ISIS2 domain into the ISIS1 domain, searching the route with the destination address 2003:0001:0:8:100:: by the R1 node for forwarding, and matching the route with the locator route 2003:0001:0:8:: 64. This requires the chip to perform multiple routing iterations on each SRv6 packet, which may cause large impact on delay and bandwidth, and greatly reduce iteration efficiency.
Disclosure of Invention
Aiming at the defects or the improvement requirements in the prior art, the invention provides a scheme for improving SRv6 forwarding efficiency, and the routing of searching the IPv6 through longest matching according to the IPv6 destination address encapsulated by the outer layer is realized in advance by the software layer, so that the chip only needs to complete one routing iteration. Because the longest matching search is realized, the addition and deletion of the route will inevitably cause a large amount of inverse brushing, and the invention also greatly reduces the inverse brushing times by a simple method and improves the iteration efficiency.
To achieve the above object, according to an aspect of the present invention, there is provided a method for improving SRv6 forwarding efficiency, comprising:
and the routing of searching IPv6 by longest matching according to the IPv6DA of the outer package is realized in advance in the software level, so that the chip only needs to complete one routing iteration.
In an embodiment of the present invention, the DDPO (Device Data Plane Object, drive Data Plane Object type) directly obtains the information of the real outbound interface and the next hop, i.e. the second ROUTE in the FDPO iteration chain, when mapping Data from the FDPO (FOS Data Plane Object, FOS Data Plane Object type).
In an embodiment of the present invention, the FDPO dependency chain is an FDPO dependency chain required for forwarding according to a DA lookup ROUTE, a prefix of a first ROUTE table is a destination IP, the egress information is in SRV6_ NNI _ NH, longest matching lookup is performed according to a VPN SID field in an SRV6_ NNI _ NH table to find locator ROUTE information, and a prefix of a second ROUTE table is a matched locator ROUTE.
In one embodiment of the invention, when the longest match is carried out, A depends on B through the longest match, then A is observer oberver, B is dependency, and oberver is hung in dependency _ list of dependency through a linked list node oberver _ node.
In an embodiment of the invention, FDPO _ CLASS _ MGR is management data of FDPO CLASS level, LPM _ oberver _ MGR is a management information of oberver, and includes a chain wait _ list to be matched, which is used for storing an a table object failed in matching; the pubserver _ info is an A table and is used as specific information of a certain class of observers; when the class A object is newly added, the class B object needs to be searched through longest matching, and after the class A object is found, the object _ node of the class A object is hung in the searched dependency _ list of the class B object, so that the observation relation of the A, B object is saved.
In an embodiment of the present invention, LPM _ depends _ MGR is B as management information of a dependency, includes an LPM _ pat _ tree, stores objects that all B tables need to participate in longest matching, and depends _ info is a B table as specific information of a certain class of dependencies; when a B-class object is newly added, the longest matching object of the A-class object needs to be refreshed, including the A object in wait _ list and the A object which has completed matching.
In one embodiment of the present invention, the longest matching process is: the longest match found by a is linked list node B and the second ordered match is linked list node B1, the secondary match node.
In an embodiment of the invention, when a B table object is newly added, the ip of the B table object is used for removing lpm _ pat _ tree matching, if an object B1 is found, the longest matching result of an A object on the dependeder _ list of B1 needs to be refreshed into a newly added B object, the A object in the dependeder _ list of B1 is traversed for re-matching, if the longest matching result of the A object on the dependeder _ list of B1 is not found, the A object which is successfully matched is not more matched with the newly added object, and the A object which is not successfully matched in the wait _ list needs to be re-matched.
In an embodiment of the invention, when a B table is deleted, the B table is firstly removed from an lpm _ pat _ tree, then matching is performed by using the ip of the B table, if B1 is found, an object which represents the second order matching of an A-type object on the dependeder _ list of the B is B1, the dependeder _ list of the B object is integrally moved to the dependeder _ list of the B1, then the re-matching is completed, and if the B table is not found, the B table is moved to a chain to be matched of the A table.
According to another aspect of the present invention, there is also provided an electronic apparatus including:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
Generally, compared with the prior art, the technical scheme of the invention has the following beneficial effects:
the invention effectively improves the routing iteration efficiency of SRv6 tunnel scenes, secondly forms a generalized model, and the development of the subsequent SRv6 functional equipment side can only focus on model design without concerning code development, and fully utilizes line card resources to reduce the burden of main control.
Drawings
Fig. 1 is a diagram illustrating SRv6 tunnel traffic in the prior art;
FIG. 2 is a schematic diagram of an iteration of a chip implementation in the prior art;
FIG. 3 is a diagram illustrating an iteration of a software implementation in an embodiment of the invention;
FIG. 4 is a data management diagram of a longest match iteration A table according to an embodiment of the present invention;
FIG. 5 is a data management diagram of a longest match iteration B table according to an embodiment of the present invention;
fig. 6 is a diagram illustrating longest match in an embodiment of the invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
In order to solve the problems in the prior art, the invention adopts the following technical scheme:
the software layer realizes the routing search of IPv6 through longest match according to the IPv6DA of the outer package in advance, so that the chip only needs to complete one routing iteration. Because the longest matching search is realized, the addition and deletion of the route will inevitably cause a large amount of inverse brushing, and the invention also greatly reduces the inverse brushing times by a simple method and improves the iteration efficiency.
The technical scheme mainly comprises the following two aspects:
(1) software level implementation iteration
The routing search is carried out again according to the IPv6DA of the outer encapsulation in the chip layer, the capability of the chip for the routing search for many times is limited, the routing search can be realized only by looping, the performance is directly halved, and the routing search for many times can be realized by different chips. The iterative process of the chip is illustrated in detail in fig. 2.
DDPO (Device Data plane Object type) is a Data model at the chip level, which is the result of reintegrating Data from the FDPO relational network as needed.
FDPO (FOS Data Plane Object type) is a Data model in a software layer, and there is a dependency relationship between models, where the dependency relationship refers to an association relationship between an Object of class a and an Object of class B, for example, an ARP table depends on an interface table through an index (foreign key) of the interface, which is an exact matching relationship. The longest match is a fuzzy match and a special dependency. The data of the software layer is a complex network formed by connecting FDPOs in series through dependency relations.
The iterative process of software-layer implementation SRv6 tunneling traffic is specifically illustrated in fig. 3.
Let us assume that FDPO a finds FDPO B by longest IP address matching, and fig. 4 and 5 describe the data management approach of this finding relationship.
(2) Improving software level iteration efficiency
Because the longest matching search is realized on the software level, the addition and deletion of the route will definitely cause a large amount of anti-brushing. This method is illustrated in detail in fig. 6.
FIG. 2 is a schematic diagram of an iteration of a chip data model
One box represents a DDPO, and an arrow represents a dependency relationship, namely, the previous table entry can search the next table entry through a keyword;
when the chip level is implemented, be _ tunnel cannot be directly found through direct iteration of a SID field (IPv 6DA packaged outside) of vpn _ SID, routing iteration needs to be carried out again according to the SID, and the routing iteration can be implemented only by looping for the chip layer, so that the efficiency is directly halved;
for each message that goes through the SRv6 tunnel, two iterations are required.
FIG. 3 software level implementation iteration schematic
The upper square box represents FDPO, the lower square box represents DDPO, and the arrow represents the dependency relationship among the models, namely, the previous table entry can search the next table entry through the keyword;
and the dependency chain of the FDPO above the picture is the required FDPO dependency chain for searching route forwarding according to the DA. The prefix of the first ROUTE table is the destination IP, the outlet information is in SRV6_ NNI _ NH, and the longest matching is carried out according to the VPN SID field in the SRV6_ NNI _ NH table to search the locator routing information. The prefix of the second ROUTE table is the matching locator ROUTE. This finds the true outgoing interface and next hop at the software level.
The DDPO can directly acquire the true outgoing interface and the next hop, i.e., the information of the second ROUTE in the FDPO iteration chain, when mapping data from the FDPO, without iteration by itself. The DDPO model can iterate directly from the srv6_ vpn _ sid table to the srv6_ be _ tunnel table;
for each message of the SRv6 tunnel, only one iteration is needed, so that the burden of chip layer processing can be reduced;
FIG. 4 is a data management diagram of longest match iteration A table
If A depends on B through the longest match, A is the observer oberver and B is the dependency. The oberver is hung in the dependency _ list of the dependency through a linked list node oberver _ node.
FDPO _ CLASS _ MGR is management data of an FDPO CLASS level, LPM _ OBSERVER _ MGR is management information of an OBSERVER, and the management information comprises a chain wait _ list to be matched and is used for storing an A table object failed in matching. The pubserver _ info is an A table as specific information of a certain class of observers.
When the class A object is newly added, the class B object needs to be searched through longest matching, and after the class A object is found, the object _ node of the class A object is hung in the searched dependency _ list of the class B object, so that the observation relation of the A, B object is saved.
FIG. 5 longest match iteration B table data management diagram
The management data of class B is similar to that of class A, and LPM _ DEPENDER _ MGR is B as the management information of the dependency, contains an LPM _ pat _ tree, and stores the objects of all B tables needing to participate in longest matching. dependency _ info is a B table as specific information of a certain class of dependencies.
When a class B object is newly added, the longest matching object of the class A object needs to be refreshed. Including the a object in wait _ list and the a object that has completed the match.
FIG. 6 is a diagram of longest match
A finds out the linked list node B through the longest match, and the second sequential match is the linked list node B1, namely the secondary matching node;
when a B table object is newly added, the self ip is used for removing lpm _ pat _ tree matching, if the B table object is found (namely an object B1), the longest matching result of an A object on the dependency _ list of B1 needs to be refreshed into a newly added B object, the A object in the dependency _ list of B1 is traversed for carrying out re-matching, if the B table object is not found, the fact that the newly added object is not matched in the successfully matched A object is indicated, and the successfully unmatched A object in the wait _ list needs to be subjected to re-matching;
when the B table is deleted, the B table is firstly removed from the lpm _ pat _ tree, then matching is performed by using the ip of the B table, if the B table is found (namely B1), the object which represents the second order matching of the A-type object on the dependency _ list of the B is B1, the dependency _ list of the B object is integrally moved to the dependency _ list of the B1, and then the re-matching is completed. And if not, moving into the chain to be matched of the A table.
Further, the present invention also provides an electronic device, comprising:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the above-described method of improving SRv6 forwarding efficiency.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (8)

1. A method for improving SRv6 forwarding efficiency, comprising:
the method comprises the steps of searching for the IPv6 route through longest matching according to the IPv6DA of outer packaging in advance on a software level, so that a chip only needs to complete one route iteration; wherein the content of the first and second substances,
the DDPO (Device Data Plane Object, drive Data Plane Object type) directly acquires the true outgoing interface and the next hop, i.e. the information of the second ROUTE in the FDPO iteration chain, when mapping Data from the FDPO (FOS Data Plane Object, FOS Data Plane Object type); wherein the content of the first and second substances,
the dependency chain of the FDPO is the dependency chain of the FDPO required by forwarding according to the DA lookup ROUTE, the prefix of the first ROUTE table is a destination IP, the outbound section information is in SRV6_ NNI _ NH, longest matching lookup locator ROUTE information is carried out according to a VPN SID field in an SRV6_ NNI _ NH table, and the prefix of the second ROUTE table is the matched locator ROUTE.
2. The method for improving SRv6 forwarding efficiency according to claim 1, wherein when the longest match is found, class A depends on class B through the longest match, class A is observer obever, class B is dependency, class A object obever is suspended in dependency _ list of corresponding class B object dependency through a linked list node obever _ node.
3. The method of claim 2, wherein FDPO _ CLASS _ MGR is management data of FDPO CLASS level, LPM _ OBSERVER _ MGR is management information of OBSERVER as CLASS a, and includes a chain wait _ list to be matched, for storing CLASS a object whose matching fails; the pubserver _ info is A type and is used as specific information of certain type observer; when a new class A object is added, a class B object needs to be searched through longest matching, and after the class A object is found, the object _ node of the class A object is hung in the dependency _ list of the found class B object, so that the observation relationship between the class A object and the class B object is saved.
4. The method of claim 2, wherein the LPM _ depend _ MGR is a B-class as management information of a dependency, and comprises an LPM _ pat _ tree storing all B-class objects that need to participate in longest matching, and the dependency _ info is specific information of the B-class as a dependency; when a B-class object is newly added, the longest matching object of the A-class object needs to be refreshed, including the A-class object in the chain wait _ list to be matched and the A-class object which has completed matching.
5. The method for improving SRv6 forwarding efficiency according to claim 2, wherein the longest match procedure is: the linked list node found by the longest match of the A-class object corresponds to the B-class object B0, and the linked list node matched in the second order corresponds to another object B1 of the B-class, namely a secondary matching node.
6. The method for improving SRv6 forwarding efficiency as claimed in claim 5, wherein when a B-class object B0 is newly added, its own ip is used to remove lpm _ pat _ tree matching, if another B-class object B1 is found, it means that the longest matching result of the a-class object on the dependeder _ list of the B-class object B1 needs to be refreshed into the newly added B-class object B0, and the a-class objects in the dependeder _ list of B1 are traversed for re-matching, and if not found, it means that the successfully matched a-class objects do not match the newly added object more, and the unsuccessfully matched a-class objects in the wait _ list to be matched need to be re-matched.
7. The method for improving SRv6 forwarding efficiency as claimed in claim 5, wherein when a B-type object B0 is deleted, the B-type object is removed from an lpm _ pat _ tree first and then matched with its own ip, if another B-type object B1 is found, the second sequential matching object of the a-type object in the dependeder _ list of the B-type object B0 is represented as a B-type object B1, the dependeder _ list of the B-type object B0 is integrally moved to the dependeder _ list of the B-type object B1, the re-matching is completed, and if the B-type object B is not found, the B-type object B0 is moved to the chain to be matched of the a-type.
8. An electronic device, comprising:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
CN202110498356.2A 2021-05-08 2021-05-08 Method for improving SRv6 forwarding efficiency and electronic equipment Active CN113259241B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110498356.2A CN113259241B (en) 2021-05-08 2021-05-08 Method for improving SRv6 forwarding efficiency and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110498356.2A CN113259241B (en) 2021-05-08 2021-05-08 Method for improving SRv6 forwarding efficiency and electronic equipment

Publications (2)

Publication Number Publication Date
CN113259241A CN113259241A (en) 2021-08-13
CN113259241B true CN113259241B (en) 2022-04-26

Family

ID=77224064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110498356.2A Active CN113259241B (en) 2021-05-08 2021-05-08 Method for improving SRv6 forwarding efficiency and electronic equipment

Country Status (1)

Country Link
CN (1) CN113259241B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194577A (en) * 2018-10-23 2019-01-11 清华大学 A kind of traffic engineering method and device of the Segment routing network based on partial deployment
CN110557329A (en) * 2018-05-30 2019-12-10 中兴通讯股份有限公司 message forwarding method, device and node
CN110832813A (en) * 2017-06-27 2020-02-21 思科技术公司 Ethernet virtual private network using segmented routing
CN111541613A (en) * 2020-04-27 2020-08-14 鹏城实验室 Data processing method based on SRv6 and related equipment
CN111670565A (en) * 2019-01-07 2020-09-15 华为技术有限公司 Method, equipment and system for controlling routing iteration

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170171066A1 (en) * 2015-12-09 2017-06-15 Alcatel-Lucent Usa, Inc. Optimizing restoration with segment routing
US11805010B2 (en) * 2019-06-21 2023-10-31 Juniper Networks, Inc. Signaling IP path tunnels for traffic engineering
CN112491709A (en) * 2020-10-21 2021-03-12 中兴通讯股份有限公司 Cross SR/SRv6 path issuing method and device, storage medium and electronic device
CN112437009B (en) * 2020-11-27 2022-07-01 网络通信与安全紫金山实验室 SRv6 method, router, routing system and storage medium for end-to-end flow policy

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110832813A (en) * 2017-06-27 2020-02-21 思科技术公司 Ethernet virtual private network using segmented routing
CN110557329A (en) * 2018-05-30 2019-12-10 中兴通讯股份有限公司 message forwarding method, device and node
CN109194577A (en) * 2018-10-23 2019-01-11 清华大学 A kind of traffic engineering method and device of the Segment routing network based on partial deployment
CN111670565A (en) * 2019-01-07 2020-09-15 华为技术有限公司 Method, equipment and system for controlling routing iteration
CN111541613A (en) * 2020-04-27 2020-08-14 鹏城实验室 Data processing method based on SRv6 and related equipment

Also Published As

Publication number Publication date
CN113259241A (en) 2021-08-13

Similar Documents

Publication Publication Date Title
CN103546374B (en) A kind of method and apparatus E-Packeted in edge double layer network
US10574574B2 (en) System and method for BGP sFlow export
US10021026B2 (en) Incremental update of a shape graph
US6633548B2 (en) Method and apparatus for ternary content addressable memory (TCAM) table management
US7706302B2 (en) Optimization of routing forwarding database in a network processor
US7936764B1 (en) Method for optimizing IP route table size through IP route aggregation
US10284472B2 (en) Dynamic and compressed trie for use in route lookup
CN104184664B (en) Route forwarding table items generation method and device
CN105847157B (en) Communication means end to end between mark network based on SDN
CN102487374B (en) Access control list realization method and apparatus thereof
CN103227757A (en) Message forwarding method and equipment
CN112311643B (en) EVPN message forwarding method, system, storage medium and terminal
CN102792651B (en) At the device of MAC layer application service path Route Selection
CN107707474A (en) A kind of route distribution method and system
US7649904B1 (en) Seamless split-horizon flooding of layer two (L2) network traffic on non-native and mixed architectures
CN107493236A (en) The management method and device of MAC forward tables, interchanger
CN106453091B (en) The equivalent route management method and device of router Forwarding plane
WO2019128612A1 (en) Method and device for processing routing protocol packet
CN113259241B (en) Method for improving SRv6 forwarding efficiency and electronic equipment
CN112653622B (en) SRv6uSID forwarding method and device
Riley et al. Efficient routing using nix-vectors
US20230081052A1 (en) Method and apparatus for sending multicast packet
US8755386B2 (en) Traceback packet transport protocol
CN100583806C (en) Route iteration system and method thereof
US10541914B2 (en) Data packet forwarding method and network device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant