Dual-driver interface
First Claim
1. A network interface device comprising:
- a first hardware interface configured to connect said network interface device with a data processing system supporting an operating system and at least one application;
a second hardware interface configured to connect said network interface device with a network; and
at least one processor and at least one memory configured to;
communicate with a first driver of the data processing system and a second driver of the data processing system, wherein the first driver has a first event queue, the second driver has a second event queue;
individually address respective data to each driver independently and directly by placing an event data block on the event queue associated with the respective driver being addressed;
determine if the event data block is of a first type or a second type;
if the event data block is of the first type, place an event data block on the event queue associated with the first driver;
if the event data block is of the second type, place an event data block on the event queue associated with the second driver; and
subsequently request execution of the respective driver by raising an interrupt.
6 Assignments
0 Petitions
Accused Products
Abstract
A network interface device capable of communication with a data processing system supporting an operating system and at least one application, the network interface device supporting communication with the operating system by means of: two or more data channels, each data channel being individually addressable by the network interface device and being capable of carrying application-level data between the network interface device and the data processing device; and a control channel individually addressable by the network interface device and capable of carrying control data between the network interface device, the control data defining commands and the network interface being responsive to at least one command sent over the control channel to establish at least one additional data channel.
-
Citations
17 Claims
-
1. A network interface device comprising:
-
a first hardware interface configured to connect said network interface device with a data processing system supporting an operating system and at least one application; a second hardware interface configured to connect said network interface device with a network; and at least one processor and at least one memory configured to; communicate with a first driver of the data processing system and a second driver of the data processing system, wherein the first driver has a first event queue, the second driver has a second event queue; individually address respective data to each driver independently and directly by placing an event data block on the event queue associated with the respective driver being addressed; determine if the event data block is of a first type or a second type; if the event data block is of the first type, place an event data block on the event queue associated with the first driver; if the event data block is of the second type, place an event data block on the event queue associated with the second driver; and subsequently request execution of the respective driver by raising an interrupt. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for transferring data comprising:
-
transferring data from a network interface device to a first driver of a data processing device supporting an operating system and at least one application, said first driver having a first event queue; and transferring data between the network interface device and a second driver of the data processing device, said second driver having a second event queue, wherein said transferring data comprises; individually addressing respective data to each driver independently and directly by placing an event data block on the event queue associated with the respective driver being addressed; determining if the event data block is of a first type or a second type; if the event data block is of the first type, place an event data block on the event queue associated with the first driver; if the event data block is of the second type, place an event data block on the event queue associated with the second driver; and subsequently requesting execution of the respective driver by raising an interrupt.
-
Specification