IP Library Granted Patent US 10,491,424
Granted Patent B2
US 10,491,424 · App. 15/400,824 · Granted Nov 26, 2019

Servicing packets in a virtual network and a software-defined network (SDN)

Inventors: Stephan Benny (San Jose, CA); Amitabha Biswas (San Francisco, CA); Rachappa B. Goni (Bangalore, IN); Uday S. Nagaraj (Sunnyvale, CA); Prashanth K. Nageshappa (Karnataka, IN)
Assignee: International Business Machines Corporation
H04L12/4675H04L12/4641H04L41/0893H04L41/12H04L47/17H04L61/2592H04L41/5096
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,491,424
App. No.
15/400,824
Granted
Nov 26, 2019
Kind
B2
Abstract

In one embodiment, an apparatus includes a processor and logic integrated with and/or executable by the processor. The logic is configured to cause the processor to receive one or more packets to be switched to a next hop, the one or more packets indicating a destination address and a first virtual network identifier (VNID). The logic is also configured to cause the processor to send a query to a controller in order to determine a service chain for the one or more packets, the query including the first VNID and the destination address. Moreover, the logic is configured to cause the processor to receive a response that includes the next hop and a next routed hop for the one or more packets. Other systems, methods, and computer program products are described in accordance with more embodiments.

Claims (50)

1. An apparatus comprising:

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to cause the processor to:

provide, by the processor, a virtual switch;

receive, at the virtual switch, one or more packets to be delivered to a destination device, the one or more packets indicating a destination address of the destination device and a first virtual network identifier (VNID);

send a query from the virtual switch to a controller in order to determine a service chain for the one or more packets, the query including the first VNID and the destination address, the service chain specifying predetermined transparent devices and routed devices to send the one or more packets for servicing thereof based on one or more policies; and

receive, at the virtual switch in response to the query, a response that includes a next hop and a next routed hop for the one or more packets, wherein the next hop indicates a next service in the service chain, and wherein the next routed hop indicates a destination media access control (DMAC) address to be stored in an inner packet header of the one or more packets.

2. The apparatus as recited in claim 1 , wherein the logic is further configured to cause the processor to:

encapsulate the one or more packets in a tunnel header, the tunnel header indicating the next hop as a destination address of an immediate next service appliance in the service chain;

designate the next routed hop as a destination address of the one or more packets, wherein the destination address indicated by the one or more packets is stored within the inner packet header of the one or more packets; and

send, using a tunnel, the one or more packets encapsulated in the tunnel header to the next hop.

3. The apparatus as recited in claim 1 , wherein the controller is a software-defined network (SDN) controller and the apparatus is configured to communicate with the SDN controller via a common protocol.

4. The apparatus as recited in claim 1 , further comprising:

a plurality of virtual machine (VM) ports, each VM port being capable of communicating with one VM coupled to a virtual switch of the apparatus.

5. The apparatus as recited in claim 4 , wherein each of the plurality of VM ports are associated with a VNID, and wherein VM ports that are within the same virtual network are assigned the same VNID.

6. The apparatus as recited in claim 1 , further comprising:

one or more waypoint ports, each waypoint port being configured to communicate with one waypoint device coupled to the waypoint port.

7. A method comprising:

receiving, at a virtual switch, one or more packets to be delivered to a destination device, the one or more packets indicating a destination address of the destination device and a first virtual network identifier (VNID);

sending a query from the virtual switch to a controller in order to determine a service chain for the one or more packets, the query including the first VNID and the destination address, the service chain specifying predetermined transparent devices and routed devices to send the one or more packets for servicing thereof based on one or more policies; and

receiving, at the virtual switch in response to the query, a response from the controller that includes a next hop and a next routed hop for the one or more packets, wherein the next hop indicates a next service in the service chain, and wherein the next routed hop indicates a destination media access control (DMAC) address to be stored in an inner packet header of the one or more packets.

8. The method as recited in claim 7 , further comprising:

encapsulating the one or more packets in a tunnel header, the tunnel header indicating the next hop as a destination address of an immediate next service appliance in the service chain;

designating the next routed hop as a destination address of the one or more packets, wherein the destination address indicated by the one or more packets is stored within the inner packet header of the one or more packets; and

sending, using a tunnel, the one or more packets encapsulated in the tunnel header to the next hop.

9. The method as recited in claim 7 , wherein the controller is a software-defined network (SDN) controller, the method further comprising communicating with the SDN controller via a common protocol.

10. The method as recited in claim 7 , further comprising:

hosting a plurality of virtual machine (VM) ports, each VM port being capable of communicating with one VM coupled to a virtual switch.

11. The method as recited in claim 10 , wherein each of the plurality of VM ports are associated with a VNID, and wherein VM ports that are within the same virtual network are assigned the same VNID.

12. The method as recited in claim 7 , further comprising:

hosting one or more waypoint ports, each waypoint port being configured to communicate with one waypoint device coupled to the waypoint port.

13. A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, the embodied program instructions executable by a processing circuit to cause the processing circuit to:

receive, by the processing circuit at a virtual switch, one or more packets to be delivered to a destination device, the one or more packets indicating a destination address of the destination device and a first virtual network identifier (VNID);

send, by the processing circuit, a query from the virtual switch to a controller in order to determine a service chain for the one or more packets, the query including the first VNID and the destination address, the service chain specifying predetermined transparent devices and routed devices to send the one or more packets for servicing thereof based on one or more policies; and

receive, by the processing circuit at the virtual switch in response to the query, a response that includes a next hop and a next routed hop for the one or more packets, wherein the next hop indicates a next service in the service chain, and wherein the next routed hop indicates a destination media access control (DMAC) address to be stored in an inner packet header of the one or more packets.

14. The computer program product as recited in claim 13 , wherein the embodied program instructions are executable to further cause the processing circuit to:

encapsulate, by the processing circuit, the one or more packets in a tunnel header, the tunnel header indicating the next hop as a destination address of an immediate next service appliance in the service chain;

designate, by the processing circuit, the next routed hop as a destination address of the one or more packets, wherein the destination address indicated by the one or more packets is stored within the inner packet header of the one or more packets; and

send, by the processing circuit using a tunnel, the one or more packets encapsulated in the tunnel header to the next hop.

15. The apparatus as recited in claim 1 , wherein:

the controller includes a SDN controller,

the destination address includes a destination IP address (DIP) and a destination MAC address (DMAC),

the query further includes a source IP address (SIP) and source MAC address (SMAC), and

the response includes a next hop virtual network identifier (VNID), a next hop virtual or software-defined network (SDN)-enabled switch, and a next hop destination MAC address (DMAC).

16. The apparatus as recited in claim 1 , wherein:

the controller includes a software-defined network (SDN) controller,

the destination address includes a destination IP address (DIP) and a destination MAC address (DMAC), and

the response includes a virtual network identifier (VNID)and destination MAC address (DMAC) for the next hop.

17. The apparatus as recited in claim 1 , wherein the query further includes an inner source IP address (SIP) field and an inner destination IP address (DIP) field of the one or more packets.

18. The apparatus as recited in claim 1 , wherein the query is stored within an inner source MAC address (SMAC) field configured by the virtual switch that is sent to the controller.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2017
From: BENNY, STEPHAN; BISWAS, AMITABHA; GONI, RACHAPPA B.; NAGARAJ, UDAY S.; NAGESHAPPA, PRASHANTH K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041324/0808 →
Continuity (2)
Continuation 14312522 · Jun 23, 2014
Related Publication 20170126435A1 · May 4, 2017