• Sowmini Varadhan's avatar
    af_packet: TX_RING support for TPACKET_V3 · 7f953ab2
    Sowmini Varadhan authored
    Although TPACKET_V3 Rx has some benefits over TPACKET_V2 Rx, *_v3
    does not currently have TX_RING support. As a result an application
    that wants the best perf for Tx and Rx (e.g. to handle request/response
    transacations) ends up needing 2 sockets, one with *_v2 for Tx and
    another with *_v3 for Rx.
    
    This patch enables TPACKET_V2 compatible Tx features in TPACKET_V3
    so that an application can use a single descriptor to get the benefits
    of _v3 RX_RING and _v2 TX_RING. An application may do a block-send by
    first filling up multiple frames in the Tx ring and then triggering a
    transmit. This patch only support fixed size Tx frames for TPACKET_V3,
    and requires that tp_next_offset must be zero.
    Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7f953ab2
af_packet.c 105 KB