Method and apparatus for multicast packet reception
First Claim
1. A method for establishing filtering for incoming data packets to be received from a network by a receiving device having a host system comprising an operating system and network protocol stack, and a network interface device, comprising the steps of the operating system:
- programming the network interface device to deliver future incoming packets of a first multicast group to N>
0 user level end-points, in a manner that at least part of a header of the future incoming packets, including an identification of at least one of the first multicast group and the respective user level end-point, bypasses the operating system network protocol stack;
receiving a request for at least one further user level endpoint to join the first multicast group; and
in response to the step of receiving, causing the operating system to forward future incoming packets of the first multicast group to the at least one further user level end-point.
7 Assignments
0 Petitions
Accused Products
Abstract
Roughly described, incoming data packets are delivered by the NIC directly to at least two user level endpoints. In an aspect, only filters that cannot be ambiguous are created in the NIC. In another aspect, the NIC maintains a filter table supporting direct delivery of incoming unicast and multicast data packets to one user level endpoint. Additional requests to join the same multicast group cause replacement of the NIC filter with one in the kernel. In another aspect, a NIC has limited capacity to maintain multicast group memberships. In response to a new multicast filter request, the kernel establishes it in the NIC only if the NIC still has sufficient capacity; otherwise it is established in the kernel.
-
Citations
13 Claims
-
1. A method for establishing filtering for incoming data packets to be received from a network by a receiving device having a host system comprising an operating system and network protocol stack, and a network interface device, comprising the steps of the operating system:
-
programming the network interface device to deliver future incoming packets of a first multicast group to N>
0 user level end-points, in a manner that at least part of a header of the future incoming packets, including an identification of at least one of the first multicast group and the respective user level end-point, bypasses the operating system network protocol stack;receiving a request for at least one further user level endpoint to join the first multicast group; and in response to the step of receiving, causing the operating system to forward future incoming packets of the first multicast group to the at least one further user level end-point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for establishing filtering for incoming data packets to be received from a network by a receiving device having a host system comprising an operating system and network protocol stack, and a network interface device, the system comprising, in the receiving device:
-
a memory subsystem; and a data processor coupled to the memory subsystem, the data processor configured to; program the network interface device to deliver future incoming packets of a first multicast group to N user level end-points in a manner that at least part of a header of the future incoming packets, including an identification of at least one of the first multicast group and the respective user level end-point, bypasses the operating system network protocol stack; receive a request for at least one further user level endpoint to join the first multicast group; and in response to the step of receiving, cause the operating system to forward future incoming packets of the first multicast group to the at least one further user level end-point.
-
Specification