US 12,395,430 B2
Disaggregation of TIER1 devices in an SDN using SmartSwitches
Gerald Roy De Grace, Atlanta, GA (US); James Allen Grantham, Woodinville, WA (US); Kristina E. Moore, Redmond, WA (US); Lihua Yuan, Redmond, WA (US); and Nan Ge, Redmond, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Jun. 30, 2022, as Appl. No. 17/855,675.
Claims priority of provisional application 63/342,044, filed on May 13, 2022.
Prior Publication US 2023/0370377 A1, Nov. 16, 2023
Int. Cl. H04L 45/76 (2022.01); H04L 49/1515 (2022.01)
CPC H04L 45/76 (2022.05) [H04L 49/1515 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for processing data packets and implementing policies in a software defined network (SDN) of a virtual computing environment, the method comprising:
receiving, by a SmartSwitch network switch device, a data packet addressed to an endpoint in a virtual network hosted by one of a plurality of virtual machines of the virtual computing environment, the SmartSwitch network switch device configured to disaggregate enforcement of policies of the SDN from servers hosting the virtual machines, the servers communicatively coupled to network interfaces of the SmartSwitch network switch device, the SmartSwitch network switch device comprising a plurality of data processing units configured to implement functionality of the SmartSwitch network switch device, the SmartSwitch network switch device interconnected in a Clos configuration and situated at a tier-1 switch position in the SDN;
determining that the data packet is associated with the virtual network;
in response to determining that the data packet is associated with the virtual network, matching the packet to a data flow of the virtual network and one of a plurality of policies associated with the data flow;
modifying, by the SmartSwitch network switch device, the packet by applying the one policy to the packet; wherein the one policy matched with the packet is dynamically adjustable based on the data flow; and
forwarding the modified packet to the endpoint in the virtual network.