IP Library Granted Patent US 8,630,296
Granted Patent B2
US 8,630,296 · App. 11/489,933 · Granted Jan 14, 2014

Shared and separate network stack instances

Inventors: Erik Nordmark (Mountain View, CA); Sunay Tripathi (San Jose, CA); Nicolas G. Droux (Rio Rancho, NM)
Assignee: Oracle America, Inc.
H04Q11/0478
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 8,630,296
App. No.
11/489,933
Granted
Jan 14, 2014
Kind
B2
Abstract

A method for configuring a packet destination, that includes creating the packet destination on a host, obtaining a network configuration for the packet destination, determining whether the host comprises a virtual network stack, where the virtual network stack includes the network configuration, and assigning the packet destination to the virtual network stack.

Claims (65)

1. A method for configuring packet destinations, comprising:

creating a first packet destination on a host;

obtaining a first network configuration for the first packet destination;

making a first determination that the host does not comprise a virtual network stack which includes the first network configuration, wherein the first packet destination is associated with a project ID and a task ID, and wherein the project ID and the task ID are used to determine whether the host comprises the virtual network stack;

creating, in response to the first determination, the virtual network stack which includes the first network configuration;

assigning, in response to the creating, the first packet destination to the virtual network stack;

assigning the first packet destination to a first virtual network interface card (VNIC);

receiving, by the first VNIC, a first plurality of packets from a first receive ring on a physical network interface card (NIC), wherein the first plurality of packets is addressed to the first packet destination;

forwarding, by the first VNIC, the first plurality of packets to the first packet destination via the shared virtual network stack;

creating a second packet destination on a host;

obtaining a second network configuration for the second packet destination;

making a second determination that the virtual network stack includes the second network configuration;

assigning, in response to the second determination, the second packet destination to the virtual network stack;

assigning the second packet destination to a second VNIC;

receiving, by the second VNIC, a second plurality of packets from a second receive ring on the NIC, wherein the second plurality of packets is addressed to the second packet destination; and

forwarding, by the second VNIC, the second plurality of packets to the second packet destination via the virtual network stack.

2. The method of claim 1 , wherein the first network configuration comprises a routing table.

3. The method of claim 1 , wherein the first network configuration comprises a routing protocol.

4. The method of claim 1 , wherein the first packet destination is one selected from a group consisting of a container and a service.

5. A non-transitory computer readable storage medium comprising software instructions, which when executed by a processor, perform a method for configuring packet destinations, the method comprising:

creating a first packet destination on a host;

obtaining a first network configuration for the first packet destination;

making a first determination that the host does not comprise a virtual network stack which includes the first network configuration, wherein the first packet destination is associated with a project ID and a task ID, and wherein the project ID and the task ID are used to determine whether the host comprises the virtual network stack;

creating, in response to the first determination, the virtual network stack which includes the first network configuration;

assigning, in response to the creating, the first packet destination to the virtual network stack;

assigning the first packet destination to a first virtual network interface card (VNIC);

receiving, by the first VNIC, a first plurality of packets from a first receive ring on a physical network interface card (NIC), wherein the first plurality of packets is addressed to the first packet destination;

forwarding, by the first VNIC, the first plurality of packets to the first packet destination via the shared virtual network stack;

creating a second packet destination on a host;

obtaining a second network configuration for the second packet destination;

making a second determination that the virtual network stack includes the second network configuration;

assigning, in response to the second determination, the second packet destination to the virtual network stack;

assigning the second packet destination to a second VNIC;

receiving, by the second VNIC, a second plurality of packets from a second receive ring on the NIC, wherein the second plurality of packets is addressed to the second packet destination; and

forwarding, by the second VNIC, the second plurality of packets to the second packet destination via the virtual network stack.

6. The non-transitory computer readable storage of claim 5 , wherein the first network configuration comprises a routing table.

7. The non-transitory computer readable storage of claim 5 , wherein the first network configuration comprises a routing protocol.

8. The non-transitory computer readable storage of claim 5 , wherein the first packet destination is one selected from a group consisting of a container and a service.

9. A system for configuring a packet destination, comprising:

a host, comprising:

a first virtual network stack comprising a first network configuration;

a first packet destination;

a first virtual network interface card (VNIC) associated with the first packet destination and operatively connected to the first virtual network stack, wherein the first VNIC is configured to:

receive a first plurality of packets from a first receive ring on a physical network interface card (NIC), wherein the first plurality of packets is addressed to the first packet destination, and

forward the first plurality of packets to the first packet destination via the first virtual network stack;

a second packet destination;

a third packet destination;

a storage medium comprising software instructions, which when executed by a processor, perform a method, the method comprising:

obtaining a second network configuration for the second packet destination;

making a first determination that the first virtual network stack does not include the second network configuration, wherein the first packet destination is associated with a project ID and a task ID and wherein the project ID and task ID are used to determine whether the host comprises the virtual network stack;

creating, in response to the first determination, a second virtual network stack which includes the second network configuration;

assigning, in response to the creating, the second packet destination to the second virtual network stack;

obtaining a third network configuration for the third packet destination;

making a second determination that the second virtual network stack includes the third network configuration; and

assigning, in response to the second determination, the third packet destination to the second virtual network stack a second VNIC configured to:

receive a second plurality of packets from a second receive ring on the NIC, wherein the second plurality of packets is addressed to the second packet destination, and

forward the second plurality of packets to the second packet destination via the second virtual network stack; and a third VNIC configured to:

receive a third plurality of packets from a third receive ring on the NIC, wherein the third plurality of packets is addressed to the third packet destination, and

forward the third plurality of packets to the third packet destination via the second virtual network stack.

10. The system of claim 9 , wherein the second virtual network stack comprises:

a shared routing table, wherein the shared routing table is used by the second packet destination and the third packet destination.

11. The system of claim 9 , wherein the first virtual network stack comprises:

a routing table, wherein the routing table is used by the first packet destination.

12. The system of claim 9 , wherein the second VNIC and the third VNIC are operatively connected to the second virtual network stack.

13. The system of claim 9 , wherein the second packet destination and the third packet destination are associated with a routing protocol.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2006
From: NORDMARK, ERIK; TRIPATHI, SUNAY; DROUX, NICOLAS G.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018261/0173 →
Continuity (1)
Related Publication 20080043755A1 · Feb 21, 2008