Patent application number | Description | Published |
20080240127 | METHOD AND APPARATUS FOR BUFFER LINKING IN BRIDGED NETWORKS - A computer implemented method and apparatus are provided for transferring data in a logical partitioned data processing system. A receiving adapter receives data from a network. The receiving adapter transfers the data to a pre-mapped buffer if the data is to be sent to a target adapter. A virtual bridge receives the pre-mapped buffer from the receiving adapter and transfers the pre-mapped buffer to the target adapter. The target adapter receives the pre-mapped buffer from the virtual bridge and determines that the received buffer is pre-mapped. The target adapter accesses the pre-mapped buffer using pre-mapped mapping, and transmits the data contained therein. | 10-02-2008 |
20080259951 | METHOD AND APPARATUS FOR UNPLANNED AND UNINTERRUPTED NETWORK ADAPTER REPLACEMENT - A computer implemented method, data processing system, and computer program product for dynamically replacing a network adapter with minimal or no communications downtime. When a notification to replace a first network adapter is received, the process in the illustrative embodiments detects a replacement network adapter and a network interface corresponding to the replacement network adapter. The process configures a replacement network adapter, and pauses all communications to the first network adapter by dropping all incoming data packets to the first network adapter. The network interface corresponding to the first network adapter is redirected to point to the replacement network adapter. The first network adapter and the network interface corresponding to the replacement network adapter are then removed. Communication flow to the replacement network adapter is restored. | 10-23-2008 |
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 |
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 |
20110252419 | DYNAMIC NETWORK ADAPTER QUEUE PAIR ALLOCATION - A method of dynamically changing an allocation of queue pair resources to an operating system image running in virtualized environment receives a notification at the operating system image of a change in allocation of queue pair resources to the operating system image. The method queries a physical network adapter through a hypervisor to obtain a new queue pair resource count that will exist in the virtualized system after the change in allocation. The method performs a hashing operation in the operating system image using the new queue pair resource count to distribute transmit traffic among the queue pair resources that will exist in the virtualized system after the change in allocation. | 10-13-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 |
20120180047 | PRESERVING TRAFFIC CLASS PRIORITY QoS WITH SELF-VIRTUALIZING INPUT/OUTPUT DEVICE - Frame wrapping such as Q-in-Q frame wrapping is used to enforce QoS prioritization with a converged or multi-function self-virtualizing IO resource such as a converged SRIOV network adapter. Frame wrapping may be used to avoid conflicting priorities from frames associated with virtual functions for which ACLs are not enforced, and thereby preserve QoS prioritization for lossless traffic classes. | 07-12-2012 |
20120192183 | DYNAMIC NETWORK ADAPTER QUEUE PAIR ALLOCATION - A method of dynamically changing an allocation of queue pair resources to an operating system image running in virtualized environment receives a notification at the operating system image of a change in allocation of queue pair resources to the operating system image. The method queries a physical network adapter through a hypervisor to obtain a new queue pair resource count that will exist in the virtualized system after the change in allocation. The method performs a hashing operation in the operating system image using the new queue pair resource count to distribute transmit traffic among the queue pair resources that will exist in the virtualized system after the change in allocation. | 07-26-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 |