Patent application number | Description | Published |
20080291835 | METHOD AND APPARATUS FOR MANAGING BUFFERS FOR TRANSMITTING PACKETS - A computer implemented method, apparatus, and computer usable program code for managing buffers. A number of buffers present in a pool of buffers assigned to a network device driver are monitored, wherein the buffers in the pool of buffers are used to process packets of data for transmission onto a network. A request is denied from a transport layer for a buffer from the pool of buffers if the number of buffers falls below a threshold level, wherein at least one buffer is present in a buffer pool if the number of buffers falls below the threshold level. | 11-27-2008 |
20080291933 | METHOD AND APPARATUS FOR PROCESSING PACKETS - A computer implemented method, apparatus, and computer usable program code for processing packets for transmission. A set of interface specific network buffers is identified from a plurality of buffers containing data for a packet received for transmission. A data structure describing the set of interface specific network buffers within the plurality of buffers is created, wherein a section in the data structure for an interface specific network buffer in the set of interface specific network buffers includes information about a piece of data in interface specific network buffer, wherein the data structure is used to process the packet for transmission. | 11-27-2008 |
20090182967 | PACKET TRANSFER IN A VIRTUAL PARTITIONED ENVIRONMENT - A computer implemented method, computer product code, and data processing system are provided for transferring data between virtual partitions. A request is received to transfer a packet from a first partition to a second partition. A free buffer is identified from a buffer pool of the second partition, and a receive descriptor is written. A bit within the receive descriptor is set to identify a receive descriptor ring of second partition. A first interrupt is generated to the second partition. The packet is then copied to the free buffer, and the receive descriptor is updated. | 07-16-2009 |
20090249371 | BUFFER ALLOCATION FOR NETWORK SUBSYSTEM - The present invention provides a computer implemented method and apparatus for allocating communication buffers in a data processing system. The method comprises a streamlined mbuf pool service receiving a call from an I/O device driver, then determining if at least one mbuf linked list is empty. In response to a determination that at least one mbuf linked list is empty, the streamlined mbuf pool service calls an OS mbuf allocator to provide all mbufs in a second mbuf linked list, wherein the second mbuf linked list comprises a head of the second mbuf linked list. The streamlined mbuf pool service repopulates the second mbuf linked list, obtains a requested mbuf from the second mbuf linked list, and advances the head of the second mbuf linked list by at least one mbuf. The streamlined mbuf pool service then returns the requested mbuf to the I/O device driver, wherein the OS mbuf allocator allocates all mbufs in the second mbuf linked list. | 10-01-2009 |
20100020818 | SHARING BUFFER SPACE IN LINK AGGREGATION CONFIGURATIONS - In link aggregation configurations, a data packet may be copied into a buffer space of a first NIC. Load balancing techniques may determine that the packet should be transmitted by a second NIC. The packet exists in memory that the second NIC cannot access. The data packet is copied into memory accessible to the second NIC or the memory location of the packet is registered with the NIC. A copy penalty is incurred if a packet is copied from a first buffer space to a second buffer space. A registration penalty is incurred if the location within the first buffer space is registered with the second NIC. Functionality can be implemented within a link aggregation configuration to register buffer space shared among interconnected NICs. Sharing of buffer space between interconnected NICs allows any one of the NICs to access data within the shared buffer space without incurring a penalty. | 01-28-2010 |
20100251268 | SERIALIZED ACCESS TO AN I/O ADAPTER THROUGH ATOMIC OPERATION - Disclosed is a computer implemented method, computer program product, and apparatus to enqueue one or more packets in a device driver for an I/O adapter. A device driver receives, by a processor executing the device driver, a reference to a list of transmit packets. The device driver may then atomically fetch and set a transmit active flag, wherein atomically setting comprises determining a former status of the transmit active flag. Responsive to a determination that a former status of the transmit active flag is different than a current status of the transmit active flag, the device driver atomically removes, by a processor executing the device driver, any packets referenced by a host machine transmit queue reference. The device driver pre-pends transmit packets referenced by the host machine transmit queue reference to the list of transmit packets to form an augmented list of transmit packets. The device driver builds a work request based on the augmented list of transmit packets. The device driver notifies the I/O adapter of the work request. The device driver atomically resets the transmit active flag. | 09-30-2010 |
20100296518 | Single DMA Transfers from Device Drivers to Network Adapters - Methods and arrangements of data communications are discussed. Embodiments include transformations, code, state machines or other logic to provide data communications. An embodiment may involve receiving from a protocol stack a request for a buffer to hold data. The data may consist of all or part of a payload of a packet. The embodiment may also involve allocating space in a buffer for the data and for a header of a packet. The protocol stack may store the data in a portion of the buffer and hand down the buffer to a network device driver. The embodiment may also involve the network device driver transferring the entire packet from the buffer to a communications adapter in a single direct memory access (DMA) operation. | 11-25-2010 |
20110051734 | ENERGY EFFICIENT CONTROL OF DATA LINK GROUPS - Where parallel links between network devices are aggregated into link groups to support the transport of associated data streams, the link groups can be managed in an energy efficient manner by defining each link group as consisting of a primary link and one or more secondary links. The primary link in a link group remains enabled at all times but the secondary links are enabled only when needed and are disabled when no longer needed, minimizing power consumption for the secondary links (and the link group). | 03-03-2011 |
20110103396 | SELECTIVE LINK AGGREGATION IN A VIRTUALIZED ENVIRONMENT - A method, system, and computer usable program product for selective link aggregation in a virtualized data processing environment are provided in the illustrative embodiments. A data packet is received at a switch. An identifier associated with the data packet is determined. The identifier corresponds to a logical partition in a logical partitioned data processing system. A lookup is performed in a data structure to determine a set of ports associated with the identifier. The set of ports is retrieved from the data structure. A port is selected from the set of ports and the data packet is transmitted from the port to the logical partition. | 05-05-2011 |
20110231406 | MULTICAST ADDRESS SEARCH INCLUDING MULTIPLE SEARCH MODES - An information handling system (IHS) includes a network adapter having a hardware address store that stores multicast addresses and a device driver that stores multicast addresses in a software address store. When there is no more storage space available in the hardware address store for multicast addresses, the device driver stores multicast addresses in the software address store. When the IHS receives a multicast information packet, the network adapter searches the hardware address store for a multicast address corresponding to that multicast information packet. If the search of the hardware address store does not find that multicast address, then the device driver searches the software address store for that multicast address. The IHS may prioritize the multicast addresses in the hardware address store and the software address store on a most frequently used basis, a most recently used basis or a most popular basis. For example, the hardware address store may store addresses that are more frequently used than those in the software address store. | 09-22-2011 |
20110264789 | DYNAMIC SETTING OF MBUF MAXIMUM LIMITS - A data processing system stack initializes a first mbuf chain limit to a pre-set level. It receives at least one packet. The system receives at least one packet. The system returns an mbuf data structure in response to receiving at least one packet from an IP address. The system measures a health of the network connection to determine whether the network connection satisfies a first health criterion. The system reduces the mbuf chain limit to a second mbuf chain limit, responsive to the health of the network connection not satisfying the first health criterion. The system measures the health of the network connection to determine whether the network connection meets a second health criterion. | 10-27-2011 |
20110321039 | VIRTUAL NETWORK PACKET TRANSFER SIZE MANAGER - The method determines whether a particular virtual adapter of a virtual network IHS may perform enhanced packet communication transfer of larger sizes than those of physical network IHSs. The method registers each virtual adapter maximum receive unit (MRU) value in an MRU attribute table within a hypervisor virtual switch. The hypervisor virtual switch provides communication pathways for packet transfers between virtual network IHS virtual adapters and also between physical adapters. The method determines if a sending virtual adapter is sending a packet to a receiving virtual adapter that is local or a remote virtual trunk adapter. The method determines if the receiving virtual adapter exhibits a registered MRU value. If the receiving virtual adapter exhibits a registered MRU value, the method provides for larger sizes of packet transfers for those particular packets. | 12-29-2011 |
20120124572 | VIRTUALIZATION OF VENDOR SPECIFIC NETWORK INTERFACES OF SELF-VIRTUALIZING INPUT/OUTPUT DEVICE VIRTUAL FUNCTIONS - A vendor independent partition interface between a logical partition and an adjunct partition associated with a self-virtualizing IO resource is used to effectively abstract away vender-specific interface details for the self-virtualizing IO resource. By doing so, vender-specific implementation details may be isolated from the operating systems resident in logical partitions, thus requiring only changes in vendor specific firmware in order to support new or revised self-virtualizing IO resources. | 05-17-2012 |
20120210039 | SELECTIVE LINK AGGREGATION IN A VIRTUALIZED ENVIRONMENT - A method for selective link aggregation in a virtualized data processing environment is provided in the illustrative embodiments. A data packet is received at a switch. An identifier associated with the data packet is determined. The identifier corresponds to a logical partition in a logical partitioned data processing system. A lookup is performed in a data structure to determine a set of ports associated with the identifier. The set of ports is retrieved from the data structure. A port is selected from the set of ports and the data packet is transmitted from the port to the logical partition. | 08-16-2012 |
20130204933 | MULTICAST MESSAGE FILTERING IN VIRTUAL ENVIRONMENTS - Various systems, processes, and products may be used to filter multicast messages in virtual environments. In particular implementations, a system, process, and product for filtering multicast messages in virtual environments may include the ability to determine whether a multicast message has been received, examine a local filtering store for a match for the destination address of the multicast message, and send the message to a number of virtual machines if a match for the address is found. The system, process, and product may also include the ability to analyze a filtering store of at least one of the virtual machines for a match for the address if a match is not found in the local filtering store and send the message to a number of the virtual machines if a match for the address is found in a filtering store of one of the virtual machines. | 08-08-2013 |
20130205296 | MULTICAST MESSAGE FILTERING IN VIRTUAL ENVIRONMENTS - Various systems, processes, and products may be used to filter multicast messages in virtual environments. In particular implementations, a system, process, and product for filtering multicast messages in virtual environments may include the ability to determine whether a multicast message has been received, examine a local filtering store for a match for the destination address of the multicast message, and send the message to a number of virtual machines if a match for the address is found. The system, process, and product may also include the ability to analyze a filtering store of at least one of the virtual machines for a match for the address if a match is not found in the local filtering store and send the message to a number of the virtual machines if a match for the address is found in a filtering store of one of the virtual machines. | 08-08-2013 |