IP Library Granted Patent US 8,625,431
Granted Patent B2
US 8,625,431 · App. 13/226,535 · Granted Jan 7, 2014

Notifying network applications of receive overflow conditions

Inventors: Nicolas G. Droux (Rio Rancho, NM); Kais Belgaied (Sunnyvale, CA); Sunay Tripathi (Menlo Park, CA)
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,625,431
App. No.
13/226,535
Granted
Jan 7, 2014
Kind
B2
Abstract

A method for notifying a packet destination that includes receiving a packet by a network interface card (NIC), where the packet destination is a destination of the packet, classifying the packet, forwarding the packet to one of a plurality of receive rings on the NIC, determining whether the one of the plurality of receive rings comprises space to store the packet, dropping the packet if the receive ring does not comprise the space to store the packet, and sending a notification message to the packet destination, where the notification message indicates that the packet was dropped by the receive ring.

Claims (29)

1. A method for notifying a packet destination of a plurality of packet destinations on a host, comprising:

receiving, by a network interface card (NIC) operatively connected to the host, a packet addressed to the packet destination of the plurality of packet destinations on the host, wherein a virtual network interface card (VNIC) on the host is bound to the packet destination;

classifying the packet by the NIC;

forwarding, by the NIC, the packet to one of a plurality of receive rings on the NIC, wherein the one of the plurality of receive rings is bound to the VNIC on the host;

if the NIC determines that the one of the plurality of receive rings does not comprise space to store the packet:

dropping the packet by the one of the plurality of receive rings,

incrementing a drop counter associated with the one of the plurality of receive rings, and

sending, by the NIC in response to the counter exceeding a first predefined notification threshold, a first notification message from the NIC to the packet destination, wherein the first notification message indicates that the packet was dropped by the one of the plurality of receive rings;

if the NIC determines that the one of the plurality of receive rings comprises space to store the packet:

forwarding the packet to the VNIC,

dropping the packet by the VNIC in response to determining that the VNIC does not comprise space to store the packet, and

sending, by the VNIC in response to the dropping, a second notification message from the VNIC to the packet destination, wherein the second notification message indicates that the packet was dropped by the VNIC.

2. The method of claim 1 , further comprising:

prior to sending the first notification message to the packet destination:

registering the packet destination to receive the first notification message from the NIC, when the one of the plurality of receive rings drops the packet.

3. The method of claim 1 , further comprising:

resetting the drop counter associated with the one of the plurality of receive rings after the first notification message is sent to the packet destination.

4. The method of claim 1 , wherein the first predefined notification threshold is a numeric value corresponding to a plurality of dropped packets.

5. The method of claim 1 , wherein the packet is a user datagram protocol (UDP) packet.

6. The method of claim 1 , wherein the VNIC is configured to store a specified number of packets.

7. The method of claim 1 , wherein dropping the packet by the VNIC comprises incrementing a drop counter associated with the VNIC.

8. The method of claim 7 , further comprising:

resetting the drop counter associated with the VNIC after the second notification message is sent to the packet destination on the host.

9. The method of claim 7 , wherein the packet destination is only notified if the drop counter associated with the VNIC exceeds a second predefined notification threshold.

10. The method of claim 9 , wherein the second predefined notification threshold is a numeric value corresponding to a plurality of dropped packets.

11. The method of claim 1 , wherein sending the first notification message from the NIC to the packet destination on the host comprises using an out-of-band communication channel between the NIC and the packet destination on the host.

12. The method of claim 11 , wherein the out-of-band communication channel is a different communication path than a path used by incoming packets.

13. The method of claim 1 , wherein sending the second notification message from the VNIC to the packet destination on the host comprises using an out-of-band communication channel between the VNIC and the packet destination on the host.

14. The method of claim 13 , wherein the out-of-band communication channel is a different communication path than a path used by incoming packets.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2011
From: DROUX, NICOLAS G.; BELGAIED, KAIS; TRIPATHI, SUNAY
To: SUN MICROSYSTEMS, INC.
Reel/Frame 026863/0716 →
CHANGE OF NAME Recorded Sep 7, 2011
From: SUN MICROSYSTEMS INC.
To: ORACLE AMERICA INC.
Reel/Frame 026863/0727 →
Continuity (2)
Continuation 11490821 · Jul 20, 2006
Related Publication 20120026885A1 · Feb 2, 2012