TCP segmentation offload (TSO) using a hybrid approach of manipulating memory pointers and actual packet data
    1.
    发明授权
    TCP segmentation offload (TSO) using a hybrid approach of manipulating memory pointers and actual packet data 有权
    TCP分割卸载(TSO)使用操纵内存指针和实际分组数据的混合方法

    公开(公告)号:US08990422B1

    公开(公告)日:2015-03-24

    申请号:US13165768

    申请日:2011-06-21

    IPC分类号: G06F15/16 H04L29/06

    摘要: Systems, apparatusses, and methods are disclosed for transmission control protocol (TCP) segmentation offload (TSO). A hardware TSO engine is capable of handling segmentation of data packets and consequent header field mutation of hundreds of flows simultaneously. The TSO engine generates data pointers in order to “cut up” the payload data of a data packet, thereby creating multiple TCP segments. Once the data of the data packet has been fetched, the TSO engine “packs” the potentially-scattered chunks of data into TCP segments, and recalculates each TCP segment's internet protocol (IP) length, IP identification (ID), IP checksum, TCP sequence number, and TCP checksum, as well as modifies the TCP flags. The TSO engine is able to rapidly switch contexts, and share the control logic amongst all flows.

    摘要翻译: 公开了用于传输控制协议(TCP)分段卸载(TSO)的系统,设备和方法。 硬件TSO引擎能够同时处理数据包的分段和数百个流的后续头域突变。 TSO引擎生成数据指针,以便“切断”数据包的有效载荷数据,从而创建多个TCP段。 一旦获取了数据包的数据,TSO引擎将潜在的分散的数据块“打包”成TCP段,并重新计算每个TCP段的Internet协议(IP)长度,IP标识(ID),IP校验和,TCP 序列号和TCP校验和,以及修改TCP标志。 TSO引擎能够快速切换上下文,并在所有流中共享控制逻辑。

    Packet scheduling using a programmable weighted fair queuing scheduler that employs deficit round robin
    2.
    发明授权
    Packet scheduling using a programmable weighted fair queuing scheduler that employs deficit round robin 有权
    使用可编程加权公平排队调度器进行分组调度,采用赤字循环

    公开(公告)号:US08943236B1

    公开(公告)日:2015-01-27

    申请号:US13166749

    申请日:2011-06-22

    申请人: Ozair Usmani

    发明人: Ozair Usmani

    IPC分类号: G06F3/00 G06F13/00

    摘要: The disclosed packet scheduler implements the deficit round robin (DRR) approximation of weighted fair queuing (WFQ), and is capable of achieving complete fairness across several hundred source flows, for example, each of which can be mapped to one of several destination ports. In addition to achieving fairness, the packet scheduler allows the user to map one or more optional strict-priority flows to each port. The packet scheduler keeps these strict-priority flows “outside” of the group of flows for which fairness is enforced. Each destination port can be optionally configured to chop its data packets into sub-packet pieces. The packet scheduler works in two mutually orthogonal dimensions: (1.) it selects destination ports based on a round-robin scheme, or using another method, such as guaranteed rate port scheduling (GRPS), and (2.) it implements optional strict-priority scheduling, and DRR scheduling.

    摘要翻译: 所公开的分组调度器实现加权公平排队(WFQ)的赤字循环(DRR)近似,并且能够实现跨几百个源流的完全公平,例如,每个源流可以映射到几个目的地端口之一。 除了实现公平性之外,分组调度器允许用户将一个或多个可选的严格优先级流映射到每个端口。 分组调度器将这些严格优先级流程保持在执行公平的流程组之外。 每个目标端口可以被选择性地配置成将其数据分组划分成子分组。 分组调度工作在两个相互正交的维度上:(1)基于循环方案选择目标端口,或使用其他方法,如保证速率端口调度(GRPS)和(2.)实现可选严格 优先级调度和DRR调度。

    Guaranteed rate port scheduler
    3.
    发明授权
    Guaranteed rate port scheduler 有权
    保证速率端口调度程序

    公开(公告)号:US08842696B1

    公开(公告)日:2014-09-23

    申请号:US13165479

    申请日:2011-06-21

    申请人: Ozair Usmani

    发明人: Ozair Usmani

    IPC分类号: H04J3/24 H04J1/00 G06F13/00

    摘要: A guaranteed rate port scheduler (GRPS) is used for serving multiple destination ports simultaneously without under-runs, even if the total bandwidth of the ports is more than the bandwidth capability of the device. Certain network protocols, such as Ethernet, do not allow “gaps” (called under-runs) to occur between bits of a packet on the wire. If a network device is transmitting packets to several such ports at the same time and the combined bandwidth of these ports is more than the device can source, under-runs begin to occur within the transmitted packets. The disclosed GRPS solves this problem by: (a) the GRPS serves only as many destination ports at a given time as can be “handled”, and (b) the GRPS fairly selects new destination ports to serve after every end-of-frame data packet transmission by effectively “de-rating” the statistical bandwidth of each destination port in proportion to the diminished capacity of the device.

    摘要翻译: 即使端口的总带宽大于设备的带宽能力,保证速率端口调度器(GRPS)也可以同时服务于多个目标端口而不会运行不良。 某些网络协议(例如以太网)不允许在线路上的数据包的位之间发生“间隙”(称为运行中)。 如果网络设备同时向多个这样的端口发送数据包,并且这些端口的组合带宽大于设备可以来源,则在发送的数据包中开始发生欠运行。 所公开的GRPS通过以下方式解决了这个问题:(a)GRPS在给定时间仅服务于可以“处理”的目的地端口,并且(b)GRPS在每个帧结束后公平地选择新的目的地端口 数据包传输通过有效地“降级”每个目标端口的统计带宽与设备容量减小成比例。