NETWORK FORWARDING ELEMENT WITH KEY-VALUE PROCESSING IN THE DATA PLANE

    公开(公告)号:US20240267343A1

    公开(公告)日:2024-08-08

    申请号:US18435517

    申请日:2024-02-07

    Abstract: Some embodiments of the invention provide a forwarding element (e.g., a switch, a router, etc.) that has one or more data plane, message-processing pipelines with key-value processing circuits. The forwarding element's data plane key-value circuits allow the forwarding element to perform key-value services that would otherwise have to be performed by data compute nodes connected by the network fabric that includes the forwarding element. In some embodiments, the key-value (KV) services of the forwarding element and other similar forwarding elements supplement the key-value services of a distributed set of key-value servers by caching a subset of the most commonly used key-value pairs in the forwarding elements that connect the set of key-value servers with their client applications. In some embodiments, the key-value circuits of the forwarding element perform the key-value service operations at message-processing line rates at which the forwarding element forwards messages to the data compute nodes and/or to other network forwarding elements in the network fabric.

    Data plane with connection validation circuits

    公开(公告)号:US11838318B2

    公开(公告)日:2023-12-05

    申请号:US17463346

    申请日:2021-08-31

    Abstract: Some embodiments of the invention provide a data-plane forwarding circuit (data plane) that can be configured to provide protection from a SYN-flood denial of service attack by validating a source of a SYN data messages before allowing future messages to be forwarded to a protected server. To perform its forwarding operations, the data plane includes several data message processing stages that are configured to process the data tuples associated with the data messages received by the data plane. In some embodiments, parts of the data plane message-processing stages are also configured to operate as a connection-validation circuit that includes (1) a SYN-processing circuit to process SYN data messages received by the data plane, and (2) an ACK-processing circuit to process ACK data messages received by the data plane.

    Proxy hash table
    4.
    发明授权

    公开(公告)号:US11080252B1

    公开(公告)日:2021-08-03

    申请号:US16271669

    申请日:2019-02-08

    Abstract: Some embodiments of the invention provide novel methods for storing data in a hash-addressed memory and retrieving stored data from the hash-addressed memory. In some embodiments, the method receives a search key and a data tuple. The method then uses a first hash function to generate a first hash value from the search key, and then uses this first hash value to identify an address in the hash-addressed memory. The method also uses a second hash function to generate a second hash value, and then stores this second hash value along with the data tuple in the memory at the address specified by the first hash value. To retrieve data from the hash-addressed memory, the method of some embodiments receives a search key. The method then uses the first hash function to generate a first hash value from the search key, and then uses this first hash value to identify an address in the hash-addressed memory. At the identified address, the hash-addressed memory stores a second hash value and a data tuple. The method retrieves a second hash value from the memory at the identified address, and compares this second hash value with a third hash value that the method generates from the search key by using the second hash function. When the second and third hash values match, the method retrieves the data tuple that the memory stores at the identified address.

    Verification of Access Control List Rules
    8.
    发明申请

    公开(公告)号:US20190182154A1

    公开(公告)日:2019-06-13

    申请号:US15948990

    申请日:2018-04-09

    Abstract: Some embodiments provide a method for a forwarding element (FE) operating in a network of FEs. The method receives a data message with an access control list (ACL) rule and a first digest for the ACL rule appended to the data message. The ACL rule specifies that the packet is allowed to be sent through the network. The method verifies the ACL rule by computing a second digest from the ACL rule using a secret key and comparing the first digest to the second digest. The method determines whether the packet matches the ACL rule by comparing values in headers of the data message to values specified in the ACL rule. The method only forwards the data message if the ACL rule is verified and the packet matches the ACL rule.

    Proxy hash table
    9.
    发明授权
    Proxy hash table 有权
    代理散列表

    公开(公告)号:US09529531B2

    公开(公告)日:2016-12-27

    申请号:US14507811

    申请日:2014-10-06

    Abstract: Some embodiments of the invention provide novel methods for storing data in a hash-addressed memory and retrieving stored data from the hash-addressed memory. In some embodiments, the method receives a search key and a data tuple. The method then uses a first hash function to generate a first hash value from the search key, and then uses this first hash value to identify an address in the hash-addressed memory. The method also uses a second hash function to generate a second hash value, and then stores this second hash value along with the data tuple in the memory at the address specified by the first hash value. To retrieve data from the hash-addressed memory, the method of some embodiments receives a search key. The method then uses the first hash function to generate a first hash value from the search key, and then uses this first hash value to identify an address in the hash-addressed memory. At the identified address, the hash-addressed memory stores a second hash value and a data tuple. The method retrieves a second hash value from the memory at the identified address, and compares this second hash value with a third hash value that the method generates from the search key by using the second hash function. When the second and third hash values match, the method retrieves the data tuple that the memory stores at the identified address.

    Abstract translation: 本发明的一些实施例提供了用于将数据存储在散列寻址存储器中并从散列寻址存储器检索存储的数据的新颖方法。 在一些实施例中,该方法接收搜索关键字和数据元组。 然后,该方法使用第一散列函数从搜索关键字生成第一散列值,然后使用该第一散列值来识别散列寻址存储器中的地址。 该方法还使用第二散列函数来生成第二散列值,然后将该第二散列值与数据元组一起存储在由第一散列值指定的地址的存储器中。 为了从散列寻址存储器检索数据,一些实施例的方法接收搜索关键字。 该方法然后使用第一散列函数从搜索关键字生成第一散列值,然后使用该第一散列值来识别散列寻址存储器中的地址。 在所识别的地址处,散列寻址存储器存储第二哈希值和数据元组。 该方法从所识别的地址的存储器中检索第二散列值,并且通过使用第二散列函数将该第二散列值与方法从搜索关键字产生的第三散列值进行比较。 当第二和第三散列值匹配时,该方法检索存储器在所识别的地址处存储的数据元组。

    FAST ADJUSTING LOAD BALANCER
    10.
    发明申请
    FAST ADJUSTING LOAD BALANCER 审中-公开
    快速调整负载平衡器

    公开(公告)号:US20160099872A1

    公开(公告)日:2016-04-07

    申请号:US14507814

    申请日:2014-10-06

    Abstract: Some embodiments of the invention provide a load balancer for distributing packet flows that are addressed to a group of data compute nodes (DCNs) amongst the DCNs of the group. In some embodiments, the load balancer includes a connection data storage comprising several different destination network address translation (DNAT) tables. Each particular DNAT table is defined at a particular instance in time and stores the identity of a plurality DCNs that are part of the group at the particular instance in time. Each time a DCN is added to the group, the load balancer of some embodiments creates a new DNAT table in the connection data storage for processing new packet flows, while using previously created DNAT tables to process packets that are part of previously processed packet flows.

    Abstract translation: 本发明的一些实施例提供一种用于分发分组流的负载平衡器,所述分组流被寻址到组中的DCN之间的一组数据计算节点(DCN)。 在一些实施例中,负载平衡器包括包括若干不同目的地网络地址转换(DNAT)表的连接数据存储。 每个特定的DNAT表在时间上在特定的实例中被定义,并且在特定的时间点存储作为组的一部分的多个DCN的身份。 每当将DCN添加到组中时,一些实施例的负载平衡器在连接数据存储器中创建新的DNAT表,用于处理新的分组流,同时使用先前创建的DNAT表来处理作为先前处理的分组流的一部分的分组。

Patent Agency Ranking