• Mat Martineau's avatar
    Bluetooth: Use 3-DH5 payload size for default ERTM max PDU size · db12d647
    Mat Martineau authored
    The previous value of 672 for L2CAP_DEFAULT_MAX_PDU_SIZE is based on
    the default L2CAP MTU.  That default MTU is calculated from the size
    of two DH5 packets, minus ACL and L2CAP b-frame header overhead.
    
    ERTM is used with newer basebands that typically support larger 3-DH5
    packets, and i-frames and s-frames have more header overhead.  With
    clean RF conditions, basebands will typically attempt to use 1021-byte
    3-DH5 packets for maximum throughput.  Adjusting for 2 bytes of ACL
    headers plus 10 bytes of worst-case L2CAP headers yields 1009 bytes
    of payload.
    
    This PDU size imposes less overhead for header bytes and gives the
    baseband the option to choose 3-DH5 packets, but is small enough for
    ERTM traffic to interleave well with other L2CAP or SCO data.
    672-byte payloads do not allow the most efficient over-the-air
    packet choice, and cannot achieve maximum throughput over BR/EDR.
    Signed-off-by: default avatarMat Martineau <mathewm@codeaurora.org>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    db12d647
l2cap.h 10.3 KB