Configuration issuing method and device, equipment and medium

By introducing logic network agency components and logical network databases in network forwarding devices, the release of Overlay configuration information is realized, the existing device cannot support the problem of the Overlay configuration information, and improves the applicability and processing capacity of the device.

CN119383069APending Publication Date: 2025-01-28TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202310929878.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-26
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

Existing switch devices based on SONiC operating system can only support the issuance of underlay configuration information, but cannot support the issuance of overlay configuration information, which limits the applicability of network forwarding devices.

Method used

Add logical network agency components and logical network databases in network forwarding devices. The logical network configuration information is converted into the logical database table supported by logical network configuration information through logical network agency components, and the logical database table is conveyed through information synchronization components The logical network chip table supported by the chip to achieve the release of the Overlay configuration information.

Benefits of technology

This enables network forwarding devices to support the deployment of logic network configuration information, improves the applicability and flexibility of network forwarding equipment, and can handle the Overlay packet more effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119383069A_ABST
    Figure CN119383069A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a configuration issuing method and device, equipment and a medium, the method is applied to network forwarding equipment, and the network forwarding equipment comprises a logic network agent component and a logic network database; the method comprises the following steps: acquiring logical network configuration information, converting the logical network configuration information into logical database table entries supported by a logical network database through a logical network proxy component, and storing the logical database table entries into the logical network database; the method comprises the following steps: acquiring a logic database table item in a logic network database through an information synchronization component in network forwarding equipment, converting the logic database table item into a logic network chip table item supported by a forwarding chip in the network forwarding equipment, and adding the logic network chip table item into the forwarding chip. By adopting the embodiment of the invention, the network forwarding equipment can support the issuing of the logic network configuration information, and the applicability of the network forwarding equipment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a configuration delivery method, device, equipment and medium. Background Art

[0002] As Internet services become increasingly complex, the scale of data centers is also growing, which means that most switch devices need to support not only the forwarding of underlay (underlying network) packets, but also the forwarding of overlay (logical network) packets. In order to reduce the number of servers and reduce operating costs, switch devices based on the SONiC operating system (an open source network operating system) are currently used as regional network gateways. However, currently, switch devices based on the SONiC operating system can only support the delivery of underlay configuration information, but cannot support the delivery of overlay configuration information. Summary of the invention

[0003] The embodiments of the present application provide a configuration delivery method, apparatus, device and medium, so that a network forwarding device can support the delivery of logical network configuration information, thereby improving the applicability of the network forwarding device.

[0004] On the one hand, an embodiment of the present application provides a configuration delivery method, which is executed by a network forwarding device, the network forwarding device includes a logical network proxy component and a logical network database, and the method includes:

[0005] Acquire logical network configuration information, convert the logical network configuration information into logical database table items supported by the logical network database through the logical network proxy component, and store the logical database table items in the logical network database;

[0006] The information synchronization component in the network forwarding device is used to obtain the logical database table items in the logical network database, convert the logical database table items into logical network chip table items supported by the forwarding chip in the network forwarding device, and add the logical network chip table items to the forwarding chip.

[0007] In one aspect, an embodiment of the present application provides a configuration delivery device, which is applied to a network forwarding device, wherein the network forwarding device includes a logical network proxy component and a logical network database, and the device includes:

[0008] A first data conversion module, used for acquiring logical network configuration information, converting the logical network configuration information into logical database table items supported by the logical network database through the logical network proxy component, and storing the logical database table items in the logical network database;

[0009] The second data conversion module is used to obtain the logical database table items in the logical network database through the information synchronization component in the network forwarding device, convert the logical database table items into logical network chip table items supported by the forwarding chip in the network forwarding device, and add the logical network chip table items in the forwarding chip.

[0010] The first data conversion module obtains the logical network configuration information, including:

[0011] Calling the remote call interface in the network forwarding device to receive the logical network configuration instruction sent by the controller;

[0012] The virtual network identifier information, the virtual extensible local area network information, and the access control list information indicated by the logical network configuration instruction are determined as the logical network configuration information.

[0013] The first data conversion module obtains the logical network configuration information, including:

[0014] Obtaining a configuration command line in a configuration command line interface, and obtaining virtual tunnel endpoint information and interface authentication information corresponding to the configuration command line in a configuration database of a network forwarding device through a first data detection thread corresponding to a logical network proxy component;

[0015] If the underlying virtual routing forwarding information corresponding to the configuration command line is detected in the state database of the network forwarding device through the second data detection thread in the logical network proxy component, the logical virtual routing forwarding information is created through the logical network proxy instance in the logical network proxy component;

[0016] The virtual tunnel endpoint information, interface authentication information, and logical virtual routing forwarding information are determined as logical network configuration information.

[0017] The configuration issuing device further includes:

[0018] An instance creation module is used to create a logical network proxy instance in a logical network proxy component and to register a remote call interface in the logical network proxy component; the logical network proxy instance is used to create logical virtual routing forwarding information and perform data conversion on logical network configuration information, and the remote call interface is used to receive logical network configuration instructions sent by the controller.

[0019] The first data conversion module converts the logical network configuration information into a logical database table item supported by the logical network database through the logical network proxy component, including:

[0020] Verify the logical network configuration information through the logical network proxy component to obtain an information verification result corresponding to the logical network configuration information;

[0021] If the information verification result indicates that the verification is passed, the logical network proxy instance in the logical network proxy component is called to convert the logical network configuration information into a logical database table item supported by the logical network database.

[0022] The first data conversion module verifies the logical network configuration information through the logical network proxy component to obtain an information verification result corresponding to the logical network configuration information, including:

[0023] Obtain the data format and access rights corresponding to the logical network configuration information through the logical network proxy component;

[0024] If the data format corresponding to the logical network configuration information is consistent with the logical network data format in the network forwarding device, and the network forwarding device has the access authority indicated by the logical network configuration information, it is determined that the logical network configuration information passes the verification.

[0025] The information synchronization component includes a logical network synchronization configuration component, and the second data conversion module converts the logical database table entry into a logical network chip table entry supported by the forwarding chip in the network forwarding device, including:

[0026] The logical database table entry is converted into an initial chip table entry supported by a forwarding chip in a network forwarding device through a logical network configuration subcomponent in a logical network synchronization configuration component;

[0027] Get the underlying database table entries corresponding to the underlying network configuration information;

[0028] If there is no configuration conflict between the underlying database table entry and the logical database table entry, the initial chip table entry is determined to be a logical network chip table entry supported by the forwarding chip.

[0029] The second data conversion module obtains the underlying database table item corresponding to the underlying network configuration information, including:

[0030] Obtaining underlying network configuration information, and storing the underlying network configuration information in a configuration database of a network forwarding device;

[0031] The state service component in the network forwarding device converts the underlying network configuration information in the configuration database into application database table items supported by the application database in the network forwarding device, and stores the application database table items in the application database;

[0032] Converting application database table items in the application database into underlying database table items supported by the chip database in the network forwarding device through the state service component;

[0033] The underlying database table items are stored in the chip database, and the underlying database table items in the chip database are obtained through the information synchronization component.

[0034] The configuration issuing device further includes: a chip table entry updating module, and the chip table entry updating module is used to:

[0035] If there is a configuration conflict between the underlying database table item and the logical database table item, the linkage configuration subcomponent in the logical network synchronization configuration component is used to obtain the associated configuration information in the underlying database table item that has a configuration conflict with the logical database table item;

[0036] It is used to update the initial chip table entry according to the associated configuration information to obtain the logical network chip table entry supported by the forwarding chip.

[0037] The configuration issuing device further includes: a kernel configuration module, which is used to:

[0038] Get the kernel configuration instructions in the configuration command line interface;

[0039] The virtual extensible local area network information in the logical network configuration information is stored in the operating system kernel in the network forwarding device through the kernel configuration instruction.

[0040] The configuration issuing device further includes: a data packet forwarding module, which is used to:

[0041] Generate a logical network forwarding table according to the logical network chip table entry;

[0042] Obtain a logical network data packet, parse the logical network data packet, and obtain a target address corresponding to the logical network data packet;

[0043] Find the forwarding port corresponding to the target address in the logical network forwarding table, and forward the logical network data packet through the forwarding port.

[0044] On one hand, an embodiment of the present application provides a computer device, including a memory and a processor, wherein the memory is connected to the processor, the memory is used to store a computer program, and the processor is used to call the computer program so that the computer device executes the method provided in the above aspect of the embodiment of the present application.

[0045] On one hand, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. The computer program is suitable for being loaded and executed by a processor, so that a computer device with a processor executes the method provided in the above aspect of the embodiment of the present application.

[0046] According to one aspect of the present application, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the method provided in the above aspect.

[0047] In an embodiment of the present application, a logical network proxy component and a logical network database associated with the logical network are newly added in the network forwarding device. After obtaining the logical network configuration information, the logical network proxy component can be used to convert the logical network configuration information into a logical database table item supported by the logical network database, and the logical database table item can be stored in the logical network database; and then, the information synchronization component in the network forwarding device can be used to obtain the logical database table item in the logical network database, convert the logical database table item into a logical network chip table item supported by a forwarding chip in the network forwarding device, and add the logical network chip table item to the forwarding chip, so that the network forwarding device can realize the sending of the logical network configuration information, thereby improving the applicability of the network forwarding device. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0049] Figure 1 It is a structural diagram of a network forwarding device provided in an embodiment of the present application;

[0050] Figure 2 This is a schematic diagram of a scenario of data packet forwarding provided by an embodiment of the present application;

[0051] Figure 3 This is a flow diagram of a configuration delivery method provided in an embodiment of the present application. Figure 1 ;

[0052] Figure 4 This is a flow diagram of a configuration delivery method provided in an embodiment of the present application. Figure 2 ;

[0053] Figure 5 is a schematic diagram of a logical network configuration information processing provided by an embodiment of the present application;

[0054] Figure 6 It is a schematic diagram of a database table entry conversion provided by an embodiment of the present application;

[0055] Figure 7 This is a schematic diagram of sending underlying network configuration information provided by an embodiment of the present application;

[0056] Figure 8 It is a structural diagram of a configuration issuing device provided in an embodiment of the present application;

[0057] Fig. 9 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0058] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0059] The embodiments of the present application relate to cloud computing. Cloud computing is a computing model that can distribute computing tasks on a resource pool composed of a large number of computers, so that various application systems can obtain computing power, storage space and information services as needed. The network that provides resources is called a "cloud". The resources in the "cloud" are infinitely expandable in the eyes of users, and can be obtained at any time, used on demand, expanded at any time, and paid for by use. As a basic capability provider for cloud computing, a cloud computing resource pool (referred to as a cloud platform, generally referred to as an IaaS (Infrastructure as a Service) platform) will be established, and various types of virtual resources will be deployed in the resource pool for external customers to choose to use. The cloud computing resource pool mainly includes: computing devices (virtualized machines, including operating systems), storage devices, and network devices.

[0060] Among them, the network forwarding device involved in the embodiment of the present application is a network forwarding device based on the SONiC operating system (an open source network operating system). The network forwarding device based on the SONiC operating system can work seamlessly with the automation tools and orchestration systems of the cloud computing platform. Through the management interface, the network forwarding device can be easily configured and controlled to achieve rapid deployment, elastic expansion and automated management to adapt to the rapidly changing needs in cloud computing. In addition, in terms of virtualization, the network forwarding device based on the SONiC operating system can be seamlessly integrated with the virtualization technology of the cloud computing platform. It supports virtualized network functions such as virtual LAN (VLAN) isolation and virtual extensible LAN (VxLAN) encapsulation, providing independent network isolation and connection for virtual machines and containers. This provides important support for multi-tenant and multi-application isolation in cloud computing environments.

[0061] To facilitate understanding of the technical solutions proposed in the embodiments of the present application, the following is a brief introduction to the relevant technologies involved in the embodiments of the present application.

[0062] SONiC (Software for Open Networking in the Cloud): An open source network operating system designed to provide flexible, scalable and customizable solutions for network forwarding devices in cloud computing environments. SONiC is an open source project based on the Linux system (an operating system) and developed using three key technologies: container, Redis (Remote Dictionary Server) database and SAI (Switch Abstraction Interface). Among them, the use of container technology enables the SONiC system to quickly deploy excellent open source features to its own system. Application software can interact directly through the Redis database, greatly reducing the coupling between various components in the network forwarding device. SONiC communicates and operates with the underlying hardware through SAI, allowing SONiC to run on a variety of hardware platforms without modifying the core code, thereby achieving hardware independence and portability.

[0063] Underlay network: Underlay network is usually composed of physical devices (such as switches, routers, etc.) and uses traditional Internet Protocol (IP) for communication. The underlay network can be responsible for transmitting data packets from the source device to the destination device, providing basic connection and routing functions for the upper layer.

[0064] Overlay network (logical network): Overlay network is a logical network layer created on top of underlay network. It provides more advanced functions and services by adding additional virtualization or logical layers on the underlay network. Overlay network can span multiple physical devices or data centers to create a virtual network topology. Overlay network usually uses tunneling technology, such as VxLAN, Generic Routing Encapsulation (GRE), etc., to encapsulate data packets in the underlay network for transmission, and use network forwarding devices (such as virtual switches, virtual routers, etc.) to implement advanced network functions such as segmentation, isolation, encryption, etc.

[0065] See also Figure 1 , Figure 1 It is a structural diagram of a network forwarding device provided in an embodiment of the present application. The network forwarding device 10 is hardware or software for transmitting data packets in a computer network. Its main function is to send data packets from a source device to a target device according to the target address to achieve communication between different nodes in the network. The network forwarding device 10 can be a physical device, such as a router, a switch device, and a firewall; it can also be a virtual device, such as a virtual switch device and a virtual router. The operating system used by the network forwarding device 10 can be a SONiC operating system. For example, the network forwarding device 10 can be a switch device based on the SONiC operating system.

[0066] like Figure 1 As shown, the structural diagram of the network forwarding device 10 may include the following planes: management plane, control plane, forwarding plane, operation plane (OS plane), hardware plane and other planes.

[0067] The management plane may include an AAA (Authentication, Authorization, and Accounting) framework, a CLI (Command Line Interface) command line interface, a Shell command line interface, and a gRPC (Google Remote Procedure Call, gRPC) remote procedure call interface. Among them, the AAA framework provides three key functions, namely, authentication, authorization, and accounting, to manage the access of objects to networks and services, ensuring that only objects that have been authenticated, authorized, and recorded can access the network resources of the network forwarding device, thereby increasing the security and management controllability of the network forwarding device 10. The CLI command line interface is an object interface that uses text commands to interact in a computer operating system or application. The CLI completes tasks by inputting and executing commands. The CLI usually provides a command prompt as a location for the operation object to input commands, and performs corresponding operations according to the commands input by the operation object, such as the issuance of network configuration information (logical network configuration information, underlying network configuration information, etc.), process control, file management, etc. The Shell command line interface may refer to the command line interface under the Unix (an operating system) or Linux (an operating system) Shell environment. Its specific definition can refer to the definition of the CLI command line interface.

[0068] The gRPC interface is a high-performance, cross-platform remote procedure call interface. Network forwarding devices can use the gRPC interface to request services from programs in another network device in the network. The gRPC interface communicates based on the HTTP / 2 protocol (a transmission protocol), taking advantage of its low latency, bidirectional streaming, and header compression features. Compared with traditional RESTful APIs (an application programming interface) or other communication methods, the gRPC interface can provide more efficient data transmission and response speed.

[0069] The control plane can be used to process various protocol messages such as Border Gateway Protocol (BGP), Link Aggregation Control Protocol (LACP), Link Layer Discovery Protocol (LLDP), Address Resolution Protocol (Address Resolution Protocol), and Neighbor Discovery Protocol (ND). The control plane can also include a detection plane, which can support network traffic detection (Telemetry), network port detector (Netsense), port detection (Process Monitor, PMON), etc. In addition, the detection plane can also support the detection of parameters such as fan speed, power switch status, temperature, etc., and can also support functions such as fan intelligent speed regulation.

[0070] like Figure 1 As shown, compared with the existing network forwarding device, the network forwarding device 10 provided in the embodiment of the present application adds a logical network agent (overlayagent) component in the control plane. Among them, the overlayagent component is a component related to the overlay network, which can be used to process information related to the overlay service. The overlayagent component lays the foundation for the network forwarding device 10 to support the delivery of logical network configuration information and the forwarding of logical network data packets. Figure 1 As shown, the overlayagent component can provide a gRPC interface to receive information related to the overlay service, such as receiving the logical network configuration information remotely sent by the SDN controller and the logical network configuration information sent by the forwarding configuration repository (FCR); the overlayagent component can communicate with the logical network database (OVERLAY_DB) in the Redis database. The definition of OVERLAY_DB can refer to the description below.

[0071] In an embodiment of the present application, the forwarding plane may include a state service component (Switch State Service, SWSS) and an information synchronization component (synchronization daemon, syncd). Among them, the SWSS component is a component for managing and controlling the state information of the network forwarding device. The SWSS component is an abstract service for the basic forwarding function of the network forwarding device, wherein the basic forwarding function may include but is not limited to: physical layer (Layer 1, L1) data forwarding, data link layer (Layer 2, L2) routing installation, network layer (Layer 3, L3) routing installation, VLAN addition and deletion, Access Control List Rule (Access Control List Rule, ACL Rule) addition and deletion, Quality of Service (Quality of Service, QoS) function, etc. The syncd component is mainly responsible for communicating with the hardware in the network forwarding device 10, for example, communicating with the forwarding chip (Application-Specific Integrated Circuit, ASIC). Specifically, the syncd component can provide a unified network service interface to the SWSS component upward; downward, it can call the switch abstraction interface (SAI) or software development kit (SDK) provided by the manufacturer to communicate with the forwarding chip. For example, SAI or SDK can be called to convert network configuration information (e.g., logical network configuration information, underlying network configuration information, etc.) and routing information (e.g., logical network routing information, underlying network configuration information, etc.) stored in the Redis database into chip table items supported by ASIC, and write the chip table items into ASIC.

[0072] like Figure 1As shown, compared with the existing network forwarding device, the network forwarding device 10 provided in the embodiment of the present application adds a logical network synchronization configuration (overlay-sync) component in the syncd component. The overlay-sync component can be used to process the business logic associated with the overlay network, and the overlay service and the underlay service can be linked through the overlay-sync component. It can be understood that if different threads are created in the syncd component to handle the issuance of overlay configuration information and the issuance of underlay configuration information respectively, when the configuration information of a certain network (for example, the overlay network) is issued, in order to speed up the issuance efficiency of the configuration information, it is necessary to use a lock to ensure that only the corresponding thread is running, thereby increasing additional overhead. The embodiment of the present application can integrate the logic processing of the overlay-sync component into the original thread of the syncd component for processing. Compared with the multi-threaded mode, the introduction of locks can be minimized, thereby improving the issuance efficiency of the overlay configuration information.

[0073] like Figure 1 As shown, the operating platform of the network forwarding device 10 is mainly based on the Linux operating system, and supports various protocol messages such as Transmission Control Protocol (TCP), Internet Protocol (IP), virtual network bridge (BRIDGE), interface (Interface), port aggregation (PO), virtual local area network (VLAN), virtual file system (SYSFS), board support package (BSP), etc.

[0074] The hardware platform mainly includes a forwarding chip (ASIC), which is a dedicated hardware for implementing packet forwarding and routing functions. ASIC can generate a forwarding table based on the configuration information issued (for example, logical network configuration information, underlying network configuration information, etc.); when a data packet is received, ASIC can parse and process the data packet, extract key information of the data packet, such as the source media access control address (MAC address), target MAC address and VLAN ID, etc.; then, according to the extracted key information, the corresponding forwarding port can be found in the forwarding table, and then the data packet can be forwarded through the forwarding port. In addition, the hardware platform can also include but is not limited to hardware devices such as temperature controllers, power supplies, and fans.

[0075] In the embodiment of the present application, the management plane, the control plane, and the forwarding plane can all communicate through the data bus (Redis database). It is understandable that based on the "publisher / subscriber" model of the Redis database, the various components that need to communicate in the network forwarding device 10 no longer need to establish a fully connected complex communication mechanism, and each other no longer needs to pay attention to the internal functional details of the other party. A component only needs to subscribe to the data of other components that it is concerned about to the Redis database. When these data of other components change or are written to the Redis database, the Redis database will automatically notify all components that subscribe to these data to perform status updates and information processing, which greatly reduces the coupling between the various components in the network forwarding device 10.

[0076] like Figure 1 As shown, the Redis database may include a configuration database (CFG-DB), an application database (APP-DB), a state database (STATE-DB), and a chip database (ASIC-DB). Among them, CFG-DB can be used to store the configuration state created by the network forwarding device 10 - port configuration, interface, VLAN and other data; APP-DB can be used to store the state generated by the network forwarding device 10 - routing, next hop (Next Hop), neighbor (Neighbor) and other data; Among them, CFG-DB and APP-DB are mainly used to store data associated with underlay services. STATE-DB can be used to store the "key" operation state of the entity configured in the network forwarding device 10. This state is used to resolve the dependencies between different components in the network forwarding device 10. ASIC-DB can be used to store the necessary states to drive the configuration and operation of the ASIC. The state here is kept in ASIC format, which can simplify the interaction between the syncd component and the ASIC SDK.

[0077] like Figure 1 As shown, compared with the existing network forwarding device, the network forwarding device 10 provided in the embodiment of the present application adds a logical network database (OVERLAY-DB) in the Redis database. Since OVERLAY-DB is an independent channel and is isolated from the multi-channel underlay service, it does not affect the underlay service. OVERLAY-DB is mainly used to implement the distribution and query of overlay configuration information between the control plane and the forwarding plane, and is also used to store data associated with the overlay service.

[0078] It can be understood that the network forwarding device 10 provided in the embodiment of the present application supports the delivery of overlay configuration information by adding overlay-related components (for example, overlayagent component, OVERLAY-DB, overlay-sync component, etc.) without affecting the delivery of the original underlay configuration information, thereby enabling the network forwarding device 10 to forward overlay data packets, thereby improving the applicability of the network forwarding device 10.

[0079] The configuration delivery method provided in the embodiment of the present application can be applied to a network forwarding device based on a SONiC operating system, and is suitable for network scenarios where overlay data packets need to be forwarded, for example, Figure 2 For details, see Figure 2 , Figure 2 Schematic diagram of a data packet forwarding scenario provided by an embodiment of the present application. Figure 2 The intelligent backbone network shown may include a network area 21 and a network area 22. The network area 21 may include a network forwarding device 21a and a data center 21b; the network area 22 may include a network forwarding device 22a and a data center 22b. It can be understood that in the embodiment of the present application, the network forwarding device 21a may be used as the backbone network gateway of the network area 21, and the network forwarding device 22a may be used as the backbone network gateway of the network area 22; the network forwarding device 21a and the network forwarding device 22a may be switch devices based on the SONiC operating system. Compared with the use of x86 server devices, the backbone network gateway uses a switch device based on the SONiC operating system, which can significantly reduce the number of servers and reduce operating costs. The specific components included in the network forwarding device 21a and the network forwarding device 22a can refer to Figure 1 The components included in the network forwarding device 10 shown are not described in detail here.

[0080] like Figure 2As shown, within the network area 21, the underlying network (underlay) data packets are forwarded between the network forwarding device 21a and the data center 21b; similarly, within the network area 22, the underlying network (underlay) data packets are also forwarded between the network forwarding device 22a and the data center 22b; and the logical network (overlay) data packets are forwarded between the backbone network gateways (network forwarding device 21a and network forwarding device 22a) of the two network areas. Among them, underlay data packets refer to data traffic transmitted on the physical network layer. Underlay data packets usually do not require additional encapsulation and decapsulation processing, but are directly transmitted through the underlying physical network. For example, within the network area 21, the communication between the network forwarding device 21a and the data center 21b usually uses the IP protocol, and at this time the IP data packet is an underlay data packet. Overlay data packets refer to data traffic transmitted on the virtual network layer. Overlay data packets are usually encapsulated in the underlying physical network for transmission, and often need to go through multiple encapsulation and decapsulation processes to achieve interconnection and communication between different virtual networks. For example, in VxLAN technology, overlay packets are packets that are encapsulated in Layer 2 of the virtual network and then transmitted on the physical network.

[0081] The embodiment of the present application is described by taking the network forwarding device 21a forwarding an overlay data packet to the network forwarding device 22a as an example. It is understandable that before the overlay data packet is forwarded through the network forwarding device 21a, the overlay configuration information needs to be sent in the network forwarding device 21a. The SDN controller 20 is generally deployed in a server in a data center. For example, it can be deployed in a server in a data center 21b, or it can also be deployed in a server in a data center 22b. If the SDN controller 20 is deployed in a server in a data center 22b, when the SDN controller 20 sends the overlay configuration information to the network forwarding device 21a, it needs to communicate remotely with the network forwarding device 21a.

[0082] Specifically, the SDN controller 20 can call the gRPC interface in the network forwarding device 21a to send a logical network configuration instruction to the network forwarding device 21a; accordingly, the network forwarding device 21a can call the gRPC interface to receive the logical network configuration instruction sent by the SDN controller, and then parse the logical network configuration instruction to obtain the logical network configuration information. The logical network configuration information here may include but is not limited to: virtual network identifier information (VxLAN Network Identifier, VNI), VxLAN interface IP information, and ACL information. Furthermore, the overlayagent component in the network forwarding device 21a can be used to convert the logical network configuration information into a logical database table item supported by the OVERLAY-DB in the network forwarding device 21a, and the logical database table item can be stored in the OVERLAY-DB; the syncd component in the network forwarding device 21a can subscribe to the message of the OVERLAY-DB, and when it is detected that the OVERLAY-DB writes the logical database table item, the logical database table item in the OVERLAY-DB can be obtained through the syncd component; then the logical database table item is converted into a logical network chip table item supported by the ASIC in the network forwarding device 21a, and the SAI or SDK interface is called to write the logical network chip table item into the ASIC, thereby completing the distribution of the logical network configuration information.

[0083] Furthermore, the ASIC can generate a logical network forwarding table based on the logical network chip table entries issued. When the network forwarding device 21a receives an overlay data packet, the ASIC can parse and process the overlay data packet, and extract the target address of the overlay data packet (for example, the MAC address corresponding to the network forwarding device 22a, the IP address corresponding to the network forwarding device 22a, etc.); and then, according to the extracted target address, the forwarding port of the overlay data packet can be found in the logical network forwarding table, thereby determining the next hop path of the overlay data packet. Assuming that the next hop of the overlay data packet is the network forwarding device 22a, the overlay data packet is forwarded to the network forwarding device 22a through the forwarding port, thereby completing the forwarding of the overlay data packet in the network forwarding device 21a.

[0084] In an embodiment of the present application, overlay-related components (for example, overlayagent components, OVERLAY-DB, overlay-sync components, etc.) can be newly added to the network forwarding device, so that the network forwarding device supports the delivery of overlay configuration information, and can then forward overlay data packets, thereby improving the applicability of the network forwarding device.

[0085] See also Figure 3 , Figure 3 This is a flow diagram of a configuration delivery method provided in an embodiment of the present application. Figure 1 ; It is understandable that the configuration delivery method can be Figure 1 The network forwarding device 10 shown in FIG. Figure 3 As shown, the configuration delivery method may include step S101 and step S102:

[0086] Step S101: Acquire logical network configuration information, convert the logical network configuration information into logical database table items supported by the logical network database through a logical network proxy component, and store the logical database table items in the logical network database.

[0087] In an embodiment of the present application, the logical network (overlay) configuration information refers to the relevant parameters and settings required to configure the overlay network in the network forwarding device, which may include but are not limited to: virtual network identifier information (VxLAN Network Identifier, VNI), virtual extensible local area network (VxLAN) information, access control list (Access Control List, ACL) information, virtual tunnel endpoint (Virtual Tunnel Endpoint, VTEP) information, interface authentication information, logical virtual routing forwarding information (overlayvirtual routing and forwarding), GRE tunnel identification information, BGP configuration information, security configuration information, logical network routing configuration information and other information.

[0088] Among them, VNI information can be used to identify different virtual networks in the VxLAN network. Each VNI corresponds to a unique identifier. VNI information can be used to distinguish different virtual networks in the overlay network. VxLAN information may include VxLAN protocol version information, MTU (maximum transmission unit) information of the VXLAN network, VxLAN interface IP information and other information. ACL is a network security function, which is a set of rules used to limit network traffic through network devices. ACL can allow or block specific types of traffic based on different conditions (for example, source IP address, destination IP address, protocol type, etc.). VTEP is a key component in VxLAN. It is responsible for encapsulating data frames into VxLAN messages and forwarding them in the VxLAN network. In an embodiment of the present application, VTEP information may include but is not limited to information such as the IP address, MAC address and VxLAN identifier of the VTEP. Interface authentication information may refer to authentication information of interfaces such as gRPC interfaces and SAI interfaces, which may specifically include account numbers, passwords, digital certificates and other information.

[0089] Logical virtual routing and forwarding information refers to the virtual routing and forwarding (VRF) information associated with the overlay network. Logical virtual routing and forwarding information is mainly used to create a virtual overlay routing domain or a virtual overlay routing forwarding table in the overlay network. Logical virtual routing and forwarding information can be used to isolate and manage virtual network entities in the overlay network. Since each virtual network entity has an independent routing decision and routing forwarding table, each virtual network can be isolated from each other and make independent routing decisions. GRE is a universal tunneling protocol that allows any type of message to be encapsulated on an IP network. GRE tunnel identification information refers to the identifier used in the GRE tunnel to distinguish different tunnel connections. BGP is a wide area network routing protocol used for routing selection and exchange of network prefix information between different autonomous systems. BGP configuration information includes configuration parameters, routing policies, attribute settings, etc. of BGP neighbor relationships. Security configuration information involves security settings of the overlay network, including firewall rules, encryption algorithms, authentication methods, etc. Logical network routing configuration information refers to routing information for configuring the overlay network, including static routing, configuration of dynamic routing protocols, and definition of routing policies. The specific method of obtaining overlay configuration information can be found in the description below and will not be repeated here.

[0090] Compared with the existing network forwarding equipment, the network forwarding equipment provided in the embodiment of the present application has added a logical network agent (overlayagent) component, which can be used to process information related to overlay services. In the embodiment of the present application, the overlayagent component can provide a gRPC interface to receive the overlay configuration information sent remotely by the SDN controller, which is isolated from the underlay service; it can encapsulate the unified Redis database access interface configuration to convert the overlay configuration information into a logical network database (OVERLAY_DB), and send it to the logical network database (OVERLAY_DB) in the Redis database after format conversion.

[0091] The overlayagent component supports functions such as VxLAN, Qos over VxLAN, and PBR over VxLAN. VxLAN is a network virtualization technology used to extend Ethernet local area networks (LANs) in data centers. VxLAN provides greater scalability and flexibility for virtualized environments, allowing virtual machines to communicate in cross-subnet environments, and can achieve multi-tenant isolation and cross-network routing interconnection. QoS over VxLAN refers to the technology that uses the Quality of Service (QoS) mechanism in VxLAN networks to manage and control the priority, bandwidth, and latency of data flows. By marking different QoS labels on VxLAN-encapsulated data packets, network forwarding devices can classify and process data flows based on these labels. PBR over VxLAN refers to the use of Policy-Based Routing (PBR) technology in VxLAN networks. Traditional forwarding operations are usually based on the best path or static routing table, while PBR allows dynamic selective routing of data flows based on pre-defined policies. By identifying specific matching conditions (such as source IP address, destination IP address, protocol type, etc.) on VxLAN encapsulated data packets, PBR can guide data flows to the corresponding target path. This allows customized forwarding for specific traffic, such as routing certain traffic through specific links, services, or devices. The overlayagent component supports the above functions, allowing network forwarding devices to handle overlay-related services, such as supporting the delivery of overlay configuration information, supporting the delivery of overlay routing information, and supporting the forwarding of overlay data packets, thereby improving the applicability of network forwarding devices.

[0092] In addition, in terms of routing, the overlayagent component can simultaneously support MPBGP (MultiprotocolBGP), BGP Over VxLAN and other routing types. Among them, MPBGP is an extended BGP protocol used to transmit and exchange routing information with different network layer protocols. MPBGP introduces new attributes to carry routing information of different network layer protocols, and uses AFI (Address Family Identifier) ​​and SAFI (Subsequent Address Family Identifier) ​​to identify different address families and sub-address families. BGP Over VxLAN refers to the method of using the BGP protocol for routing exchange in a VxLAN network. BGP Over VxLAN uses VxLAN technology to achieve cross-subnet communication and virtualized network isolation, and uses BGP as a routing protocol to transmit and exchange routing information in a VxLAN network. The BGPOver VxLAN method enables devices in different subnets to discover each other and exchange routing information through the BGP protocol, realizing flexible network architecture and routing policy configuration. It is understandable that the overlayagent component can enable network forwarding devices to support the delivery of overlay configuration information by providing functions such as routing query, statistics query, configuration verification, and configuration persistence.

[0093] Compared with the existing network forwarding devices, the network forwarding device provided in the embodiment of the present application adds a logical network database (OVERLAY-DB) in the Redis database. OVERLAY-DB can be used to store and implement the delivery and query of overlay configuration information between the control plane and the forwarding plane, and is also used to store data associated with the overlay service. It can be understood that OVERLAY-DB is an independent channel, which is isolated from the underlay service multi-channel. Therefore, it does not affect the delivery of underlay configuration information and the forwarding of underlay data packets. In addition, when the overlay configuration information is delivered in the embodiment of the present application, it only needs to pass through the OVERLAY_DB database to reach the syncd component of the forwarding plane. The data link is short, which can improve the delivery efficiency of the overlay configuration information.

[0094] Logical database table items refer to overlay configuration information that conforms to the data storage format in OVERLAY-DB. Specifically, when creating OVERLAY-DB, the data storage format corresponding to OVERLAY-DB can be defined; after obtaining the overlay configuration information, the overlay configuration information can be converted into logical database table items that conform to the data storage format of OVERLAY-DB through the overlayagent component; then a connection is established between the overlayagent component and OVERLAY-DB, and the database access interface corresponding to OVERLAY-DB is called, such as the Oracle (a relational database management system) interface, the SQL Server (a relational database management system) interface, etc., to perform insert and update operations, and insert or update the logical database table items into OVERLAY-DB.

[0095] Step S102: Obtain the logical database table entry in the logical network database through the information synchronization component in the network forwarding device, convert the logical database table entry into the logical network chip table entry supported by the forwarding chip in the network forwarding device, and add the logical network chip table entry to the forwarding chip.

[0096] The information synchronization (syncd) component is mainly responsible for communicating with the hardware in the network forwarding device, for example, communicating with the forwarding chip (ASIC). In addition, in the embodiment of the present application, the syncd component can subscribe to the message of OVERLAY-DB. When it is detected that OVERLAY-DB writes a logical database table item, the logical database table item in OVERLAY-DB can be obtained through the syncd component, and then the logical database table item is converted into a logical network chip table item supported by ASIC, wherein the logical network chip table item refers to the overlay configuration information that conforms to the data storage format in ASIC.

[0097] After obtaining the logical network chip table entry, the syncd component can call the SAI or SDK interface to write the logical network chip table entry into the ternary content addressable memory (TCAM) or static random access memory (SRAM) in the ASIC, so that the ASIC can generate a logical network forwarding table based on the logical network chip table entry, and then perform operations such as matching, filtering and forwarding data packets based on the logical network forwarding table. The syncd component can ensure the consistency between the configuration of the network forwarding device and the actual operating status by converting the logical network database table entry and writing it into the ASIC, while also improving the flexibility and programmability of the network forwarding device.

[0098] In an embodiment of the present application, a logical network proxy component and a logical network database associated with the logical network are newly added in the network forwarding device. After obtaining the logical network configuration information, the logical network proxy component can be used to convert the logical network configuration information into a logical database table item supported by the logical network database, and the logical database table item can be stored in the logical network database; and then, the information synchronization component in the network forwarding device can be used to obtain the logical database table item in the logical network database, convert the logical database table item into a logical network chip table item supported by a forwarding chip in the network forwarding device, and add the logical network chip table item to the forwarding chip, so that the network forwarding device can realize the sending of the logical network configuration information, thereby improving the applicability of the network forwarding device.

[0099] See also Figure 4 , Figure 4 This is a flow diagram of a configuration delivery method provided in an embodiment of the present application. Figure 2 ; It is understandable that the configuration delivery method can be Figure 1 The network forwarding device 10 shown in FIG. Figure 4 As shown, the configuration delivery method may include steps S201 to S207:

[0100] Step S201: Acquire logical network configuration information, verify the logical network configuration information through a logical network proxy component, and obtain an information verification result corresponding to the logical network configuration information.

[0101] See also Figure 5 , Figure 5 Schematic diagram of a logical network configuration information processing provided by an embodiment of the present application. Figure 5 As shown, the overlayagent component may include an initialization module and a configuration processing module, wherein the initialization module may be used to read overlay configuration information, create an overlayagent instance, register a remote call interface, create a thread or process corresponding to a Redis database (DB) to detect data changes in the Redis database, and restore the overlay configuration from OVERLAY_DB at startup, etc. It is understandable that the task of the initialization module in the overlayagent component may be started when the logical network configuration information is received, for example, creating an overlayagent instance, etc.; or the initialization module in the overlayagent component may be configured before the logical network configuration information is received, and the embodiment of the present application does not limit this.

[0102] An overlayagent instance can be a functional module or process, or it can be regarded as a virtual entity inside a network forwarding device, which can be used to create logical virtual routing forwarding information and perform data conversion on overlay configuration information. It can be understood that after creating an overlayagent instance in the overlayagent component, the overlayagent instance can be used to process the overlay configuration information, thereby improving the data conversion efficiency of the overlay configuration information.

[0103] The remote call interface may include a gRPC interface, an RPC (Remote Procedure Call) interface, a RESTful API interface, and the like. The embodiment of the present application takes the remote call interface being a gRPC interface as an example to describe the registration process of the remote call interface. Specifically, the network forwarding device can use corresponding programming languages, such as C++, Python, Java and other programming languages, to create a gRPC service in the overlayagent component. The created gRPC service can communicate with the network forwarding device by obtaining the API file with the network forwarding device, and the gRPC interface function in the network forwarding device is enabled, thereby completing the registration of the gRPC interface, so that the overlayagent component can use the services provided by the gRPC interface, so as to receive the overlay configuration instructions issued by the SDN controller through the overlayagent component. The definition of the overlay configuration instructions can refer to the description below.

[0104] In the embodiment of the present application, a thread or process corresponding to the Redis database can be created in the overlayagent component to detect data changes in the Redis database, for example, a thread corresponding to CFG_DB is created to detect data changes in CFG_DB, a thread corresponding to STATE_DB is created to detect data changes corresponding to STATE_DB, a thread corresponding to OVERLAY-DB is created to detect data changes in OVERLAY-DB, etc. Optionally, when the network forwarding device needs to send overlay configuration information again, the initialization module in the overlayagent component can read the saved overlay historical configuration information in OVERLAY_DB and load it into the overlayagent component to quickly restore the configuration efficiency of the overlay network.

[0105] After the initialization module in the overlayagent component is configured, the overlay configuration information can be sent through the configuration processing module. Figure 5As shown, the overlay configuration information can come from the SDN controller calling the remote call interface for remote delivery; the overlay configuration information can also come from CFG-DB and STATE-DB, and the data stored in CFG-DB and STATE-DB can come from the configuration command line interface in the management platform of the network forwarding device.

[0106] In one possible implementation, obtaining logical network configuration information by calling a remote call interface may include: calling a remote call interface in a network forwarding device to receive a logical network configuration instruction sent by a controller; and then determining the virtual network identifier information, virtual extensible local area network information, and access control list information indicated by the logical network configuration instruction as the logical network configuration information.

[0107] In an embodiment of the present application, the remote call interface allows the program to interact and communicate between the network forwarding device and other network devices, so that the network forwarding device and the network device can call and access each other's functions and data. The above-mentioned controller can be an SDN controller, and the SDN controller can send a remote call interface request to the network forwarding device to request to call the remote call interface to issue a logical network configuration instruction to the network forwarding device, and then request the network forwarding device to issue overlay configuration information. Optionally, after receiving the remote call interface request sent by the SDN controller, the network forwarding device can convert the remote call interface request into a data format supported by the network forwarding device, and verify the remote call interface request to determine whether the SDN controller has the communication authority with the network forwarding device. After the verification is passed, the network forwarding device can receive the logical network configuration instruction issued by the SDN controller through the overlayagent component, and the logical network configuration instruction can be used to instruct the network forwarding device to issue overlay configuration information.

[0108] Optionally, the logical network configuration instruction may carry VNI information, VxLAN information, ACL information, MAC address or IP address of the SDN controller, etc. The network forwarding device may call the remote call interface through the overlayagent component to receive the logical network configuration instruction sent by the SDN controller, and then determine the VNI information, VxLAN information, and ACL information carried by the logical network configuration instruction as the logical network configuration information. Optionally, the logical network configuration instruction may also carry a method for obtaining the logical network configuration information, for example, it may carry a Uniform Resource Locator (URL) associated with the logical network configuration information, and the network forwarding device may determine the VNI information, VxLAN information, and ACL information as the logical network configuration information by accessing the URL.

[0109] In an embodiment of the present application, the network forwarding device can communicate remotely with the SDN controller through a remote call interface, so that the network forwarding device can obtain the logical network configuration instructions issued by the SDN controller, and then the network forwarding device can support the issuance of logical network configuration information, which helps to improve the applicability of the network forwarding device.

[0110] In one possible implementation, obtaining logical network configuration information through a configuration command line interface may include: obtaining a configuration command line in the configuration command line interface, and obtaining virtual tunnel endpoint information and interface authentication information corresponding to the configuration command line in a configuration database of a network forwarding device through a first data detection thread corresponding to a logical network agent component; if underlying virtual routing forwarding information corresponding to the configuration command line is detected in a status database of the network forwarding device through a second data detection thread in the logical network agent component, logical virtual routing forwarding information may be created through a logical network agent instance in the logical network agent component; and the virtual tunnel endpoint information, interface authentication information, and logical virtual routing forwarding information may be determined as logical network configuration information.

[0111] In an embodiment of the present application, the configuration command line interface may be a CLI in the management plane of the network forwarding device, or may be a Shell in the management plane of the network forwarding device. The configuration command line may be understood as a command or parameter associated with the overlay network, and may be used to instruct the network forwarding device to perform relevant configurations of the overlay network. The first data detection thread may be a thread corresponding to CFG-DB, and the first data detection thread is used to detect data changes in CFG-DB; the second data detection thread may be a thread corresponding to STATE-DB, and the second data detection thread is used to detect data changes in STATE-DB. The first data detection thread and the second data detection thread are created by the initialization module in the overlayagent component.

[0112] The underlying virtual routing forwarding information (underlay VRF) refers to the VRF associated with the underlay network. The underlay VRF is mainly used to create a virtual underlay routing domain in the underlay network. The underlay network can be divided into logically isolated routing domains to ensure the isolation and forwarding of different network traffic on the underlay network. The definition of the logical virtual routing forwarding information (overlay VRF) can refer to the description in the previous article and will not be repeated here.

[0113] Specifically, if the operation object wants to issue overlay configuration information in the network forwarding device, it can call the configuration command line interface of the network forwarding device (for example, CLI or Shell, etc.), and enter the initial configuration information in the configuration command line in the configuration command line interface, such as virtual tunnel endpoint (VTEP) information, interface authentication information, underlay VRF and other information. Among them, VTEP information, interface authentication information and other data can be stored in CFG-DB, and underlay VRF can be stored in STATE-DB. The overlayagent component can subscribe to the CFG-DB message through the first data detection thread, and the overlayagent component can subscribe to the STATE-DB message through the second data detection thread. When the VTEP information and interface authentication information are written in the CFG-DB, a Redis message can be sent to the overlayagent component through the first data detection thread; accordingly, when the underlay VRF is written in the STATE-DB, a Redis message can be sent to the overlayagent component through the second data detection thread. The overlayagent component can convert the Redis message into a data format supported by the overlayagent component and perform a validity check on it (for example, check whether the Redis message is sent by CFG-DB and STATE-DB). When the check passes, the overlayagent component can obtain the VTEP information and interface authentication information in the CFG-DB through the first data detection thread. In addition, when the overlayagent component detects the underlay VRF in the STATE-DB through the second data detection thread, the underlay VRF can be configured. For example, relevant attributes can be set for the underlay VRF, such as the underlay routing protocol, underlay routing table, underlay routing forwarding policy, etc., and then the physical interface or port channel (PortChannel) corresponding to the network forwarding device can be associated with the underlay VRF to complete the configuration of the underlay VRF. Optionally, appropriate routing information can also be configured in the underlayVRF to ensure correct routing forwarding in the underlay network.

[0114] Furthermore, when the overlayagent component detects that the underlay VRF configuration is complete, logical virtual routing forwarding information (overlay VRF) can be created through the overlayagent instance. For example, an initial VRF instance can be created through the overlayagent instance, and related properties such as an identifier, a routing table, and a forwarding policy can be set for the initial VRF; the initial VRF and the overlay network can be associated, for example, an overlay tunnel or interface can be configured, and the overlay tunnel or interface can be associated with the created initial VRF, and the associated initial VRF can be determined as the overlay VRF; VTEP information, interface authentication information, and overlay VRF can be determined as overlay configuration information.

[0115] After obtaining the overlay configuration information, the overlay configuration information can be verified through the overlayagent component to obtain the information verification result corresponding to the overlay configuration information. Specifically, the data format corresponding to the overlay configuration information can be obtained through the overlayagent component, and the data format corresponding to the overlay configuration information can be compared with the logical network data format stored in the network forwarding device, wherein the logical network data format is a data format associated with the overlay network pre-set in the network forwarding device, which contains the overlay configuration syntax rules predefined by the network forwarding device, and the value range corresponding to each configuration information. If the data format corresponding to the overlay configuration information is inconsistent with the logical network data format, it means that the overlay configuration information does not conform to the data format or value range required by the network forwarding device, and the overlay configuration information verification fails.

[0116] In addition, the overlayagent component can also be used to obtain the access rights corresponding to the overlay configuration information verification. If the network forwarding device does not have the access rights indicated by the overlay configuration information, it is determined that the overlay configuration information verification has failed. For example, the overlay configuration information is the configuration information encrypted using the private key. After receiving the overlay configuration information, the overlayagent component can use the overlay configuration information corresponding to the corresponding public key to decrypt it. If the decryption fails, it is determined that the network forwarding device does not have the access rights indicated by the overlay configuration information; if the decryption succeeds, it is determined that the network forwarding device has the access rights indicated by the overlay configuration information.

[0117] In the embodiment of the present application, when the data format corresponding to the overlay configuration information is consistent with the logical network data format in the network forwarding device, and the network forwarding device has the access rights indicated by the logical overlay configuration information, it is determined that the overlay configuration information passes the verification, otherwise, the overlay configuration information fails the verification. In this way, the data security of the network forwarding device can be improved.

[0118] Step S202: If the information verification result indicates that the verification is passed, the logical network agent instance in the logical network agent component is called to convert the logical network configuration information into a logical database table item supported by the logical network database, and store the logical database table item in the logical network database.

[0119] When the information verification result corresponding to the overlay configuration information indicates that the verification is passed, the overlay configuration information can be converted into a logical database table item supported by OVERLAY-DB. Figure 5 As shown, the overlayagent instance in the overlayagent component can be called to process the overlay configuration information and convert the overlay configuration information into a logical database table item supported by OVERLAY-DB. Specifically, a connection can be established between the overlayagent component and OVERLAY-DB, and the database access interface corresponding to OVERLAY-DB, such as the Oracle interface, the SQL Server interface, etc., can be called to obtain the data storage format corresponding to OVERLAY-DB, and the data storage format corresponding to OVERLAY-DB is sent to the overlayagent instance; after the overlayagent instance obtains the data storage format corresponding to OVERLAY-DB, it can convert the overlay configuration information into a logical database table item that conforms to the data storage format of OVERLAY-DB.

[0120] like Figure 5As shown, after obtaining the logical database table items, the overlayagent component can send the logical database table items to OVERLAY-DB. Specifically, the overlayagent component can call the database access interface corresponding to OVERLAY-DB, such as the Oracle interface, SQL Server interface, etc., to perform insert and update operations, and insert or update the logical database table items into OVERLAY-DB. OVERLAY-DB further sends the logical database table items to the syncd component, and the logical database table items are processed by the logical network synchronization configuration (overlay-sync) component in the syncd component, so as to further send the overlay configuration information to ASIC. The specific description of the logical network synchronization configuration (overlay-sync) and the specific processing method can be referred to the description below, which will not be repeated here.

[0121] like Figure 5 As shown, after obtaining the overlay configuration information, part or all of the configuration information in the overlay configuration information can also be written into the operating system kernel (Linux-kernel) in the network forwarding device. Specifically, the operation object can call the configuration command line interface (for example, Shell or netlink, etc.) in the network forwarding device, and input kernel configuration instructions in the configuration command line interface. The kernel configuration instructions can be used to request that the configuration information required in the overlay configuration information (for example, VxLAN information) be stored in the operating system kernel (Linux-kernel). Accordingly, the network forwarding device can obtain the kernel configuration instructions in the configuration command line interface, parse the kernel configuration instructions, and store the VxLAN information in the overlay configuration information in the operating system kernel (Linux-kernel). It should be noted that the above-mentioned storage of the VxLAN information in the overlay configuration information in the operating system kernel (Linux-kernel) is only an example. In actual applications, part or all of the configuration information in the overlay configuration information can be stored in the operating system kernel (Linux-kernel) according to actual needs.

[0122] It is understandable that ASIC is a hardware component of the network forwarding device, and ASIC is mainly responsible for the processing and forwarding of data packets. Sending the overlay configuration information to ASIC facilitates the subsequent rapid implementation of overlay data packet processing and forwarding, which can improve the performance and response speed of the network forwarding device. The operating system (for example, Linux) plays the role of managing and controlling the network forwarding device, and the operating system provides a higher level of functionality and flexibility. Writing the overlay configuration information into the operating system kernel (Linux-kernel) can achieve more complex network management and control, such as VLAN configuration, routing protocols, QoS settings, etc. Therefore, writing the overlay configuration information into the ASIC and the operating system kernel (Linux-kernel) of the network forwarding device at the same time can make full use of the hardware and software advantages of the network forwarding device, facilitate the high-performance processing and forwarding of overlay data packets, and provide flexible network management and control functions. This dual configuration method enables the network forwarding device to meet various network requirements.

[0123] Step S203: Obtain the logical database table entry in the logical network database through the information synchronization component in the network forwarding device.

[0124] Step S204: converting the logical database table entry into an initial chip table entry supported by the forwarding chip in the network forwarding device through the logical network configuration subcomponent in the logical network synchronization configuration component.

[0125] Compared with existing network forwarding devices, the network forwarding device provided in the embodiment of the present application adds a logical network synchronization configuration (overlay-sync) component in the syncd component. The overlay-sync component can be used to process the business logic associated with the overlay network, and the overlay-sync component can realize the linkage between the overlay service and the underlay service.

[0126] Specifically, see Figure 6 , Figure 6 Schematic diagram of a database table entry conversion provided by an embodiment of the present application. Figure 6As shown, the syncd component may include an overlay-sync component, an underlay configuration component, an underlay initialization subcomponent, a chip / SDK initialization subcomponent, etc. The overlay-sync component may include a logical network (overlay) configuration subcomponent, a linkage configuration subcomponent, and an overlay-sync initialization subcomponent. Among them, the overlay-sync initialization subcomponent may be used to load the resources required for the overlay business logic, the underlay initialization subcomponent may be used to load the resources required for the underlay business, and the chip / SDK initialization subcomponent may be used to load the resources required for the chip / SDK. The underlay configuration subcomponent is used to process the underlying database table items from ASIC-DB. The underlying database table items are data obtained by data conversion of underlay configuration information. The underlay configuration information is the configuration information associated with the underlay network, which may include but is not limited to: underlay VRF, underlay routing configuration information, underlay topology information, underlay routing messages of VTEP_IP (a message transmitted through the underlay network for notifying routing information between VTEP devices) and other messages; the overlay configuration subcomponent is used to process the logical database table items from OVERLAY-DB; the linkage subcomponent is used to process the associated configuration information from ASIC-DB. The associated configuration information is the underlying database table items that have configuration conflicts with the logical database table items.

[0127] The syncd component can subscribe to the OVERLAY-DB message. When it detects that OVERLAY-DB writes a logical database table item, the syncd component can obtain the logical database table item in OVERLAY-DB. Figure 6 As shown, after the syncd component obtains the logical database table entry, it can convert the logical database table entry into the initial network chip table entry supported by the ASIC through the overlay configuration subcomponent in the overlay-sync component. Among them, the fields contained in the initial network chip table entry are associated with the overlay configuration information. Specifically, the initial network chip table entry refers to data or records that conform to the data storage format in the ASIC. Then, the logical network chip table entry that is finally written into the ASIC can be determined based on the initial network chip table entry. The specific implementation process can refer to the description below.

[0128] Step S205: Obtain the underlying database table item corresponding to the underlying network configuration information. If there is a configuration conflict between the underlying database table item and the logical database table item, obtain the associated configuration information that has a configuration conflict with the logical database table item in the underlying database table item through the linkage configuration subcomponent in the logical network synchronization configuration component.

[0129] Step S206: Update the initial chip table entry according to the associated configuration information to obtain the logical network chip table entry supported by the forwarding chip.

[0130] It is understandable that, since the overlay network is a virtual network built on the underlay network, when the overlay network transmits overlay data packets, it will use the underlay network as the underlying transmission medium for data transmission. Therefore, the delivery of overlay configuration information may be affected by the delivery of underlay configuration information. Based on this, the underlying database table items corresponding to the underlying network (underlay) configuration information can be obtained first, and then it can be determined whether there is a configuration conflict between the underlying database table items and the logical database table items. Configuration conflicts can be understood as the overlap or mutual influence between the underlying database table items and the logical database table items. For example, the underlying database table items corresponding to the underlay routing message of VTEP_IP will have a configuration conflict with the logical database table items; when the identification information corresponding to the underlay VRF and the overlay VRF is the same, the underlying database table items will conflict with the logical database table items.

[0131] If there is a configuration conflict between the underlying database table item and the logical database table item, the associated configuration information that has a configuration conflict with the logical database table item can be obtained in the underlying database table item through the linkage configuration subcomponent in the overlay-sync component. For example, the associated configuration information can be the underlying database table item corresponding to the underlay routing message of VTEP_IP, or it can also be the underlying database table item corresponding to the underlay VRF with the same identification information as the overlay VRF. The initial chip table item can be updated according to the associated configuration information. For example, the overlay routing information corresponding to the VTEP_IP in the initial chip table item can be modified, and the identification information corresponding to the overlay VRF in the initial chip table item can be modified, thereby resolving the configuration conflict and determining the updated initial chip table item as the logical network chip table item supported by ASIC. If there is no configuration conflict between the underlying database table item and the logical database table item, the initial chip table item can be determined as the logical network chip table item supported by ASIC.

[0132] In an embodiment of the present application, an overlay-sync component can be added to the syncd component, and the overlay-sync component can be used to generate logical network chip table entries supported by ASIC to achieve linkage with the underlay service status, such as port status, routing iteration, etc., thereby solving the problem of conflicts between the underlying database table entries and the logical database table entries.

[0133] In one possible implementation, obtaining the underlying database table items corresponding to the underlying network configuration information may include: obtaining the underlying network configuration information, and storing the underlying network configuration information in the configuration database of the network forwarding device; converting the underlying network configuration information in the configuration database into application database table items supported by the application database in the network forwarding device through a status service component in the network forwarding device, and storing the application database table items in the application database; further, the application database table items in the application database may be converted into underlying database table items supported by the chip database in the network forwarding device through the status service component; storing the underlying database table items in the chip database, and then obtaining the underlying database table items in the chip database through the information synchronization component.

[0134] For details, please refer to Figure 7 , Figure 7 Schematic diagram of sending underlying network configuration information provided by an embodiment of the present application. Figure 7 As shown, similar to the overlay configuration information, the underlay configuration information can come from the SDN controller calling the remote call interface for remote distribution, or it can come from the configuration command line interface in the management platform of the network forwarding device. The method of obtaining the underlay configuration information can refer to the method of obtaining the overlay configuration information, which will not be repeated here. After obtaining the underlay configuration information, the underlay configuration information can be directly written into the CFG-DB. The state service component (SWSS) can subscribe to the message of CFG-DB. When SWSS detects that the underlay configuration information is stored in the CFG-DB, it can obtain the underlay configuration information from the CFG-DB, and then convert the underlay configuration information into the application database table item supported by APP-DB through the sync-related logic, and write the application database table item into APP-DB. Among them, the application database table item refers to the overlay configuration information that conforms to the data storage format in APP-DB. The sync-related logic of SWSS generally refers to the process used to synchronize and update data in the Redis database. The sync-related logic can be responsible for processing the read and write operations of CFG-DB to ensure that the data between different nodes can maintain consistency and correctness. As shown in Figure 7As shown, after SWSS obtains the underlay configuration information, it can also store part or all of the underlay configuration information in the operating system kernel (Linux-kernel) through netlink or Shell as needed, thereby achieving more complex management and control of the overlay service.

[0135] like Figure 7 As shown, SWSS can subscribe to the message of APP-DB through the orchagent related logic. When SWSS detects that there are application database table items stored in APP-DB, it can obtain the application database table items from APP-DB, and then the orchagent related logic converts the application database table items into the underlying database table items supported by ASIC-DB. Among them, the orchagent related logic usually refers to some processes used to manage and schedule applications. The orchagent related logic can be responsible for processing the read and write operations of APP-DB, and perform corresponding processing on the application database table items in APP-DB according to the corresponding policies or rules.

[0136] Furthermore, after obtaining the underlying database table items, SWSS can send the underlying database table items to ASIC-DB for storage. The syncd component can subscribe to the messages of ASIC-DB. When the syncd component detects that ASIC-DB stores the underlying database table items, the underlying database table items can be converted into underlying network chip table items supported by ASIC through the underlay configuration component in the syncd component. Among them, the underlying network chip table items refer to the underlay configuration information that conforms to the data storage format in ASIC. After obtaining the underlying network chip table items, the syncd component can call the SAI or SDK interface to write the underlying network chip table items to ASIC, thereby completing the distribution of the underlay configuration information in the network forwarding device.

[0137] Step S207: Generate a logical network forwarding table according to the logical network chip table entry, obtain a logical network data packet, parse the logical network data packet, and obtain a target address corresponding to the logical network data packet.

[0138] Step S208: searching the forwarding port corresponding to the target address in the logical network forwarding table, and forwarding the logical network data packet through the forwarding port.

[0139] In an embodiment of the present application, the logical network forwarding table is a data structure for storing forwarding rules in an overlay network. The logical network forwarding table contains a mapping relationship between a target address and a forwarding port, so that the forwarding port and transmission path corresponding to the overlay data packet can be determined according to the logical network forwarding table. The target address usually indicates the identification information of the target device where the overlay data packet finally arrives, which can be the MAC address or IP address of the target device; the target device may include but is not limited to virtual machines, containers, logical network nodes and other devices in the logical network. The forwarding port refers to the physical or logical interface used to transmit data packets in a network forwarding device, and different forwarding ports correspond to different forwarding paths.

[0140] Specifically, the overlay configuration information (e.g., ACL information, VxLAN information, overlay VRF, etc.) can be obtained from the logical network chip table, and the target address of each device contained in the overlay network can be extracted from the overlay configuration information, and then the mapping relationship between the target address and its corresponding forwarding port can be established according to the matching rule, and the logical network forwarding table can be generated according to the mapping relationship. When the overlay data packet is sent to the network forwarding device, the network forwarding device can call the relevant interface (e.g., gRPC interface) to receive the overlay data packet, and the overlayagent component can further send the overlay data packet. For example, the overlayagent component can send the overlay data packet to OVERLAY-DB; the syncd component can subscribe to the message of OVERLAY-DB. When it is detected that OVERLAY-DB stores the overlay data packet, the overlay data packet can be obtained through the syncd component, and then the overlay data packet is sent to the ASIC.

[0141] Furthermore, after receiving the overlay data packet, the ASIC parses it, extracts the target address corresponding to the overlay data packet, and uses the target address as a query index to search for a translation table entry matching the target address in the logical network forwarding table, and determines the forwarding port corresponding to the target address according to the forwarding table entry, determines through which forwarding port the received overlay data packet should be forwarded, and further determines the next-hop path of the overlay data packet; sends the overlay data packet to the forwarding port, and forwards the overlay data packet to the next-hop device through the forwarding port, thereby completing the forwarding of the overlay data packet in the network forwarding device.

[0142] In an embodiment of the present application, a logical network proxy component and a logical network database associated with the logical network are newly added in the network forwarding device. After obtaining the logical network configuration information, the logical network proxy component can be used to convert the logical network configuration information into a logical database table item supported by the logical network database, and the logical database table item can be stored in the logical network database; and then, the information synchronization component in the network forwarding device can be used to obtain the logical database table item in the logical network database, convert the logical database table item into a logical network chip table item supported by a forwarding chip in the network forwarding device, and add the logical network chip table item to the forwarding chip, so that the network forwarding device can realize the sending of the logical network configuration information, thereby improving the applicability of the network forwarding device.

[0143] It is understandable that in the specific implementation of the present application, relevant information of the user in the network forwarding device (for example, account information, password information, etc.) may be involved. When the above embodiments of the present application are applied to specific products or technologies, the user's permission or consent is required, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0144] See also Figure 8 , Figure 8 is a schematic diagram of a configuration sending device provided in an embodiment of the present application. It can be understood that the configuration sending device can be applied to a network forwarding device (eg Figure 1 In the network forwarding device 10 shown in the figure, the network forwarding device may include a logical network proxy component and a logical network database; wherein, Figure 8 The configuration sending device 1 shown may include: a first data conversion module 11 and a second data conversion module 12:

[0145] A first data conversion module 11 is used to obtain logical network configuration information, convert the logical network configuration information into logical database table items supported by the logical network database through a logical network proxy component, and store the logical database table items in the logical network database;

[0146] The second data conversion module 12 is used to obtain the logical database table items in the logical network database through the information synchronization component in the network forwarding device, convert the logical database table items into logical network chip table items supported by the forwarding chip in the network forwarding device, and add the logical network chip table items in the forwarding chip.

[0147] In a possible implementation manner, the first data conversion module 11 acquires the logical network configuration information, which may include:

[0148] Calling the remote call interface in the network forwarding device to receive the logical network configuration instruction sent by the controller;

[0149] The virtual network identifier information, the virtual extensible local area network information, and the access control list information indicated by the logical network configuration instruction are determined as the logical network configuration information.

[0150] In a possible implementation manner, the first data conversion module 11 acquires the logical network configuration information, which may include:

[0151] Obtaining a configuration command line in a configuration command line interface, and obtaining virtual tunnel endpoint information and interface authentication information corresponding to the configuration command line in a configuration database of a network forwarding device through a first data detection thread corresponding to a logical network proxy component;

[0152] If the underlying virtual routing forwarding information corresponding to the configuration command line is detected in the state database of the network forwarding device through the second data detection thread in the logical network proxy component, the logical virtual routing forwarding information is created through the logical network proxy instance in the logical network proxy component;

[0153] The virtual tunnel endpoint information, interface authentication information, and logical virtual routing forwarding information are determined as logical network configuration information.

[0154] In a possible implementation manner, the configuration issuing device 1 may further include:

[0155] The instance creation module 13 is used to create a logical network proxy instance in the logical network proxy component and register a remote call interface in the logical network proxy component; the logical network proxy instance is used to create logical virtual routing forwarding information and perform data conversion on the logical network configuration information, and the remote call interface is used to receive the logical network configuration instructions sent by the controller.

[0156] In a possible implementation manner, the first data conversion module 11 converts the logical network configuration information into a logical database table item supported by the logical network database through the logical network proxy component, which may include:

[0157] Verify the logical network configuration information through the logical network proxy component to obtain an information verification result corresponding to the logical network configuration information;

[0158] If the information verification result indicates that the verification is passed, the logical network proxy instance in the logical network proxy component is called to convert the logical network configuration information into a logical database table item supported by the logical network database.

[0159] In a possible implementation, the first data conversion module 11 verifies the logical network configuration information through the logical network proxy component to obtain an information verification result corresponding to the logical network configuration information, which may include:

[0160] Obtain the data format and access rights corresponding to the logical network configuration information through the logical network proxy component;

[0161] If the data format corresponding to the logical network configuration information is consistent with the logical network data format in the network forwarding device, and the network forwarding device has the access authority indicated by the logical network configuration information, it is determined that the logical network configuration information passes the verification.

[0162] In a possible implementation, the information synchronization component includes a logical network synchronization configuration component, and the second data conversion module 12 converts the logical database table entry into a logical network chip table entry supported by the forwarding chip in the network forwarding device, which may include:

[0163] The logical database table entry is converted into an initial chip table entry supported by a forwarding chip in a network forwarding device through a logical network configuration subcomponent in a logical network synchronization configuration component;

[0164] Get the underlying database table entries corresponding to the underlying network configuration information;

[0165] If there is no configuration conflict between the underlying database table entry and the logical database table entry, the initial chip table entry is determined to be a logical network chip table entry supported by the forwarding chip.

[0166] In a possible implementation manner, the second data conversion module 12 obtains the underlying database table entry corresponding to the underlying network configuration information, which may include:

[0167] Obtaining underlying network configuration information, and storing the underlying network configuration information in a configuration database of a network forwarding device;

[0168] The state service component in the network forwarding device converts the underlying network configuration information in the configuration database into application database table items supported by the application database in the network forwarding device, and stores the application database table items in the application database;

[0169] Converting application database table items in the application database into underlying database table items supported by the chip database in the network forwarding device through the state service component;

[0170] The underlying database table items are stored in the chip database, and the underlying database table items in the chip database are obtained through the information synchronization component.

[0171] In a possible implementation manner, the configuration delivery device 1 further includes: a chip table entry updating module 14, and the chip table entry updating module 14 is used to:

[0172] If there is a configuration conflict between the underlying database table item and the logical database table item, the linkage configuration subcomponent in the logical network synchronization configuration component is used to obtain the associated configuration information in the underlying database table item that has a configuration conflict with the logical database table item;

[0173] It is used to update the initial chip table entry according to the associated configuration information to obtain the logical network chip table entry supported by the forwarding chip.

[0174] In a possible implementation manner, the configuration issuing device 1 may further include: a kernel configuration module 15, the kernel configuration module 15 is used to:

[0175] Get the kernel configuration instructions in the configuration command line interface;

[0176] The virtual extensible local area network information in the logical network configuration information is stored in the operating system kernel in the network forwarding device through the kernel configuration instruction.

[0177] In a possible implementation manner, the configuration delivery device 1 may further include: a data packet forwarding module 16, the data packet forwarding module 16 is used to:

[0178] Generate a logical network forwarding table according to the logical network chip table entry;

[0179] Obtain a logical network data packet, parse the logical network data packet, and obtain a target address corresponding to the logical network data packet;

[0180] Find the forwarding port corresponding to the target address in the logical network forwarding table, and forward the logical network data packet through the forwarding port.

[0181] According to an embodiment of the present application, the steps involved in the configuration delivery method shown above can be performed by Figure 8 The configuration shown is sent to each module in the device 1 for execution. For example, Figure 3 Step S101 shown can be performed by Figure 8 The first data conversion module 11 shown is used to execute, Figure 3 Step S102 shown can be performed by Figure 8 The second data conversion module 12 shown is used to perform the same.

[0182] According to one embodiment of the present application, Figure 8The various modules in the configuration delivery method device 1 shown can be separately or completely combined into one or several units to constitute, or one (some) of the units can be further divided into at least two functionally smaller sub-units, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above modules are divided based on logical functions. In practical applications, the functions of one module can also be implemented by at least two units, or the functions of at least two modules can be implemented by one unit. In other embodiments of the present application, the blockchain-based data processing device 1 may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of at least two units.

[0183] In an embodiment of the present application, a logical network proxy component and a logical network database associated with the logical network are newly added in the network forwarding device. After obtaining the logical network configuration information, the logical network proxy component can be used to convert the logical network configuration information into a logical database table item supported by the logical network database, and the logical database table item can be stored in the logical network database; and then, the information synchronization component in the network forwarding device can be used to obtain the logical database table item in the logical network database, convert the logical database table item into a logical network chip table item supported by a forwarding chip in the network forwarding device, and add the logical network chip table item to the forwarding chip, so that the network forwarding device can realize the sending of the logical network configuration information, thereby improving the applicability of the network forwarding device.

[0184] See also Fig. 9 , Fig. 9 Schematic diagram of the structure of a computer device provided in an embodiment of the present application. Fig. 9 As shown, the computer device 1000 can be Figure 1 The network forwarding device 10 in the corresponding embodiment, the computer device 1000 may include: a processor 1001, a network interface 1004 and a memory 1005. In addition, the computer device 1000 may also include a user interface 1003, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components; the user interface 1003 may include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or it may be a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 1005 may optionally also be at least one storage device located away from the aforementioned processor 1001. Fig. 9As shown, the memory 1005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.

[0185] Among them, Fig. 9 In the computer device 1000 shown, the network interface 1004 can provide a network communication function, and the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:

[0186] Acquire logical network configuration information, convert the logical network configuration information into logical database table items supported by the logical network database through the logical network proxy component, and store the logical database table items in the logical network database;

[0187] The information synchronization component in the network forwarding device is used to obtain the logical database table items in the logical network database, convert the logical database table items into logical network chip table items supported by the forwarding chip in the network forwarding device, and add the logical network chip table items to the forwarding chip.

[0188] It should be understood that the computer device 1000 described in the embodiment of the present application can execute the above Figure 3 and Figure 4 The description of the configuration delivery method in any of the embodiments corresponding to the above items can also be performed. Figure 8 The description of the configuration sending device 1 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated here either.

[0189] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the configuration issuing device 1 mentioned above, and the computer program includes computer instructions. When the processor executes the computer instructions, it can execute the above-mentioned Figure 3 and Figure 4 The description of the configuration delivery method in any of the corresponding embodiments will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application. As an example, computer instructions can be deployed on a computing device for execution, or on multiple computing devices located at one location, or on multiple computing devices distributed at multiple locations and interconnected by a communication network. Multiple computing devices distributed at multiple locations and interconnected by a communication network can constitute a blockchain system.

[0190] In addition, it should be noted that: the embodiment of the present application also provides a computer program product or a computer program, which may include computer instructions, and the computer instructions may be stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor may execute the computer instructions, so that the computer device executes the above Figure 3 and Figure 4 The description of the configuration delivery method in any of the embodiments corresponding to the items will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer program product or computer program embodiment involved in this application, please refer to the description of the method embodiment of this application.

[0191] It should be noted that, for the above-mentioned various method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.

[0192] The steps in the method of the embodiment of the present application can be adjusted in order, combined and deleted according to actual needs.

[0193] The modules in the device of the embodiment of the present application can be merged, divided and deleted according to actual needs.

[0194] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing related hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0195] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. A configuration delivery method, characterized in that: The method is applied to a network forwarding device, the network forwarding device includes a logical network proxy component and a logical network database, and the method includes: Acquire logical network configuration information, convert the logical network configuration information into logical database table items supported by the logical network database through the logical network proxy component, and store the logical database table items in the logical network database; The logical database table entry in the logical network database is obtained through the information synchronization component in the network forwarding device, the logical database table entry is converted into a logical network chip table entry supported by the forwarding chip in the network forwarding device, and the logical network chip table entry is added to the forwarding chip.

2. The method according to claim 1, characterized in that The obtaining of logical network configuration information includes: Calling the remote call interface in the network forwarding device to receive the logical network configuration instruction sent by the controller; The virtual network identifier information, the virtual extensible local area network information, and the access control list information indicated by the logical network configuration instruction are determined as the logical network configuration information.

3. The method according to claim 1, characterized in that The obtaining of logical network configuration information includes: Obtaining a configuration command line in a configuration command line interface, and obtaining virtual tunnel endpoint information and interface authentication information corresponding to the configuration command line in a configuration database of the network forwarding device through a first data detection thread corresponding to the logical network proxy component; If the underlying virtual routing forwarding information corresponding to the configuration command line is detected in the state database of the network forwarding device through the second data detection thread in the logical network proxy component, the logical virtual routing forwarding information is created through the logical network proxy instance in the logical network proxy component; The virtual tunnel endpoint information, the interface authentication information, and the logical virtual routing forwarding information are determined as the logical network configuration information.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: A logical network proxy instance is created in the logical network proxy component, and a remote call interface is registered in the logical network proxy component; the logical network proxy instance is used to create logical virtual routing forwarding information and perform data conversion on the logical network configuration information, and the remote call interface is used to receive logical network configuration instructions sent by the controller.

5. The method according to claim 1, characterized in that The converting the logical network configuration information into a logical database table item supported by the logical network database by the logical network proxy component includes: Verifying the logical network configuration information through the logical network proxy component to obtain an information verification result corresponding to the logical network configuration information; If the information verification result indicates that the verification is passed, the logical network agent instance in the logical network agent component is called to convert the logical network configuration information into a logical database table item supported by the logical network database.

6. The method according to claim 5, characterized in that The verifying the logical network configuration information by the logical network agent component to obtain an information verification result corresponding to the logical network configuration information includes: Obtaining the data format and access rights corresponding to the logical network configuration information through the logical network proxy component; If the data format corresponding to the logical network configuration information is consistent with the logical network data format in the network forwarding device, and the network forwarding device has the access authority indicated by the logical network configuration information, it is determined that the logical network configuration information passes the verification.

7. The method according to claim 1, characterized in that The information synchronization component includes a logical network synchronization configuration component; The converting the logical database table entry into a logical network chip table entry supported by the forwarding chip in the network forwarding device includes: The logical database table entry is converted into an initial chip table entry supported by a forwarding chip in the network forwarding device by means of a logical network configuration subcomponent in the logical network synchronization configuration component; Get the underlying database table entries corresponding to the underlying network configuration information; If there is no configuration conflict between the underlying database entry and the logical database entry, the initial chip entry is determined to be a logical network chip entry supported by the forwarding chip.

8. The method according to claim 7, characterized in that The step of obtaining the underlying database table entry corresponding to the underlying network configuration information includes: Acquire underlying network configuration information, and store the underlying network configuration information in a configuration database of the network forwarding device; The state service component in the network forwarding device converts the underlying network configuration information in the configuration database into an application database table item supported by the application database in the network forwarding device, and stores the application database table item in the application database; Converting the application database table items in the application database into underlying database table items supported by the chip database in the network forwarding device through the state service component; The underlying database table items are stored in the chip database, and the underlying database table items in the chip database are obtained through the information synchronization component.

9. The method according to claim 7, characterized in that: The method further comprises: If there is a configuration conflict between the underlying database table item and the logical database table item, then obtaining, in the underlying database table item, the associated configuration information that has a configuration conflict with the logical database table item through the linkage configuration subcomponent in the logical network synchronization configuration component; The initial chip table entry is updated according to the associated configuration information to obtain a logical network chip table entry supported by the forwarding chip.

10. The method according to claim 1, characterized in that The method further comprises: Get the kernel configuration instructions in the configuration command line interface; The virtual extensible local area network information in the logical network configuration information is stored in the operating system kernel in the network forwarding device through the kernel configuration instruction.

11. The method according to claim 1, characterized in that: The method further comprises: Generate a logical network forwarding table according to the logical network chip table entry; Obtaining a logical network data packet, parsing the logical network data packet, and obtaining a target address corresponding to the logical network data packet; The forwarding port corresponding to the target address is searched in the logical network forwarding table, and the logical network data packet is forwarded through the forwarding port.

12. A configuration issuing device, characterized in that: The device is applied to a network forwarding device, the network forwarding device includes a logical network proxy component and a logical network database, and the device includes: A first data conversion module, configured to obtain logical network configuration information, convert the logical network configuration information into logical database table items supported by the logical network database through the logical network proxy component, and store the logical database table items in the logical network database; The second data conversion module is used to obtain the logical database table items in the logical network database through the information synchronization component in the network forwarding device, convert the logical database table items into logical network chip table items supported by the forwarding chip in the network forwarding device, and add the logical network chip table items in the forwarding chip.

13. A computer device, characterized in that: including memory and processor; The memory is connected to the processor, the memory is used to store a computer program, and the processor is used to call the computer program so that the computer device executes the method according to any one of claims 1 to 11.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded and executed by a processor, so that a computer device having the processor executes the method according to any one of claims 1 to 11.

15. A computer program product, characterized in that The method comprises a computer program / instruction, which implements the method according to any one of claims 1 to 11 when executed by a processor.

Citation Information

Cited By

  • Network configuration method and device, storage medium and computer program product

    CN121509238A