• Jesus Sanchez-Palencia's avatar
    net/sched: Make etf report drops on error_queue · 4b15c707
    Jesus Sanchez-Palencia authored
    Use the socket error queue for reporting dropped packets if the
    socket has enabled that feature through the SO_TXTIME API.
    
    Packets are dropped either on enqueue() if they aren't accepted by the
    qdisc or on dequeue() if the system misses their deadline. Those are
    reported as different errors so applications can react accordingly.
    
    Userspace can retrieve the errors through the socket error queue and the
    corresponding cmsg interfaces. A struct sock_extended_err* is used for
    returning the error data, and the packet's timestamp can be retrieved by
    adding both ee_data and ee_info fields as e.g.:
    
        ((__u64) serr->ee_data << 32) + serr->ee_info
    
    This feature is disabled by default and must be explicitly enabled by
    applications. Enabling it can bring some overhead for the Tx cycles
    of the application.
    Signed-off-by: default avatarJesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4b15c707
sch_etf.c 10.7 KB