IP Library Granted Patent US 8,184,631
Granted Patent B2
US 8,184,631 · App. 11/656,735 · Granted May 22, 2012

Method for specifying a MAC identifier for a network-interface-device

Assignee: Oracle America, Inc.
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,184,631
App. No.
11/656,735
Granted
May 22, 2012
Kind
B2
Abstract

One embodiment of the present invention provides a system that specifies a MAC identifier for a network-interface-device in a computing device. In this system, the network-interface-device is configured to connect to a network though a port. During operation, the network-interface-device receives data packets through this port, and accepts a data packet if the data packet contains a destination that matches the MAC identifier for the network-interface-device, which can be a universally-administered MAC identifier. The system is also configured to determine whether the network-interface-device supports one or more additional MAC identifiers. If so, the system adds and activates an additional MAC identifier. By activating the newly-added MAC identifier in the computing device, the system allows the network-interface-device to logically separate data packets based on MAC identifiers.

Claims (55)

1. A method for specifying a MAC identifier for a network-interface-device in a computing device, where the network-interface-device is configured to connect to a network through a single port, where the network-interface-device is configured to accept a data packet received through the port if the data packet contains a destination that matches the MAC identifier, where the network-interface-device includes a universally-administered MAC identifier, the method comprising:

determining whether the network interface device supports more than one MAC identifier for the single port by acquiring data that describes the capabilities of the network interface device and determining from the acquired data if the capabilities include supporting multiple MAC identifiers for the single port;

if so, selecting and activating an additional MAC identifier, wherein selecting and activating the additional MAC identifier comprises associating a resource with the additional MAC identifier in an accept filter for the network-interface-device, wherein the network-interface-device uses the accept filter to determine whether a destination address in a data packet matches one of the MAC identifiers; and

receiving from a hypervisor a command to release the additional MAC identifier, wherein releasing the additional MAC identifier comprises removing the additional MAC identifier from the accept filter;

wherein activating the additional MAC identifier facilitates the network-interface-device accepting and logically separating data packets based on the additional MAC identifier.

2. The method of claim 1 , wherein determining whether the network-interface-device supports one or more additional MAC identifiers involves:

determining whether the networking-interface-device includes a resource that supports one or more MAC identifiers; and

if so, assigning the additional MAC identifier to the resource.

3. The method of claim 2 ,

wherein the resource includes a multicast resource,

wherein the multicast resource supports one or more additional MAC identifiers; and

wherein the additional MAC identifier is assigned to the multicast resource.

4. The method of claim 2 , wherein the method further involves specifying the value of the additional MAC identifier.

5. The method of claim 4 , wherein the specified value is selected randomly.

6. The method of claim 4 , wherein the specified value is selected from a specified block of universally-administered MAC addresses.

7. The method of claim 2 ,

wherein code in the computing device tracks how many additional MAC identifiers can simultaneously be supported by the network-interface-device; and

wherein the code supports activating, removing, and/or modifying the additional MAC identifier.

8. The method of claim 4 ,

wherein the computing device supports one or more computer applications; and

wherein the additional MAC identifier is requested by a computer application.

9. The method of claim 8 , wherein the computer application is a guest operating system that includes a virtual network-interface-device.

10. The method of claim 8 , wherein the computer application selects and activates one or more additional MAC identifiers.

11. The method of claim 9 ,

wherein the computing device enables multiple guest operating systems to execute concurrently; and

wherein additional MAC identifiers are activated:

by a first computer application that manages allocating MAC identifiers for the multiple guest operating systems; or

individually by each of one or more guest operating systems.

12. The method of claim 8 ,

wherein the computer application stores the value of the additional MAC identifier persistently; and

wherein storing the value allows the computer application to use the same value across multiple sessions of the computer application.

13. The method of claim 1 , wherein the network-interface-device is a network interface card.

14. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for specifying a MAC identifier for a network-interface-device in a computing device, where the network-interface-device is configured to connect to a network through a single port, where the network-interface-device is configured to accept a data packet received through the port if the data packet contains a destination that matches the MAC identifier, where the network-interface-device includes a universally-administered MAC identifier, the method comprising:

determining whether the network interface device supports more than one MAC identifier for the single port by acquiring data that describes the capabilities of the network interface device and determining from the acquired data if the capabilities include supporting multiple MAC identifiers for the single port;

if so, selecting and activating an additional MAC identifier, wherein selecting and activating the additional MAC identifier comprises associating a resource with the additional MAC identifier in an accept filter for the network-interface-device, wherein the network-interface-device uses the accept filter to determine whether a destination address in a data packet matches one of the MAC identifiers; and

receiving from a hypervisor a command to release the additional MAC identifier, wherein releasing the additional MAC identifier comprises removing the additional MAC identifier from the accept filter;

wherein activating the additional MAC identifier facilitates the network-interface-device accepting and logically separating data packets based on the additional MAC identifier.

15. The non-transitory computer-readable storage medium of claim 14 , wherein determining whether the network-interface-device supports one or more additional MAC identifiers involves:

determining whether the networking-interface-device includes a resource that supports one or more MAC identifiers; and

if so, assigning the additional MAC identifier to the resource.

16. The non-transitory computer-readable storage medium of claim 15 ,

wherein the resource includes a multicast resource,

wherein the multicast resource supports one or more additional MAC identifiers; and

wherein the additional MAC identifier is assigned to the multicast resource.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the method further involves specifying the value of the additional MAC identifier.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the specified value is selected randomly.

19. The non-transitory computer-readable storage medium of claim 15 ,

wherein code in the computing device tracks how many additional MAC identifiers can simultaneously be supported by the network-interface-device; and

wherein the code supports activating, removing, and/or modifying the additional MAC identifier.

20. An apparatus that specifies a MAC identifier for a network-interface-device in a computing device, where the network-interface-device is configured to connect to a network through a single port, where the network-interface-device is configured to accept a data packet received through the port if the data packet contains a destination that matches the MAC identifier, where the network-interface-device includes a universally-administered MAC identifier, comprising:

a determining mechanism configured to determine whether the network interface device supports more than one MAC identifier for the single port by acquiring data that describes the capabilities of the network interface device and determining from the acquired data if the capabilities include supporting multiple MAC identifiers for the single port;

an activation mechanism configured to select and activate an additional MAC identifier, wherein selecting and activating the additional MAC identifier comprises associating a resource with the additional MAC identifier in an accept filter for the network-interface-device, wherein the network-interface-device uses the accept filter to determine whether a destination address in a data packet matches one of the MAC identifiers; and

a deactivation mechanism configured to receive from a hypervisor a command to release the additional MAC identifier, wherein releasing the additional MAC identifier comprises removing the additional MAC identifier from the accept filter

wherein activating the additional MAC identifier facilitates the network-interface-device accepting and logically separating data packets based on the additional MAC identifier.

21. The method of claim 1 , wherein acquiring the data that describes the capabilities of the network interface device includes acquiring the data from the network interface device itself or from one or more other data sources that host the information.

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/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2007
From: KUNHAPPAN, RAJAGOPAL; JOHNSON, DARRIN P.; TRIPATHI, SUNAY
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018827/0478 →
Continuity (1)
Related Publication 20080175246A1 · Jul 24, 2008