• Xie He's avatar
    drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices · 44a049c4
    Xie He authored
    PVC devices are virtual devices in this driver stacked on top of the
    actual HDLC device. They are the devices normal users would use.
    PVC devices have two types: normal PVC devices and Ethernet-emulating
    PVC devices.
    
    When transmitting data with PVC devices, the ndo_start_xmit function
    will prepend a header of 4 or 10 bytes. Currently this driver requests
    this headroom to be reserved for normal PVC devices by setting their
    hard_header_len to 10. However, this does not work when these devices
    are used with AF_PACKET/RAW sockets. Also, this driver does not request
    this headroom for Ethernet-emulating PVC devices (but deals with this
    problem by reallocating the skb when needed, which is not optimal).
    
    This patch replaces hard_header_len with needed_headroom, and set
    needed_headroom for Ethernet-emulating PVC devices, too. This makes
    the driver to request headroom for all PVC devices in all cases.
    
    Cc: Krzysztof Halasa <khc@pm.waw.pl>
    Cc: Martin Schiller <ms@dev.tdt.de>
    Signed-off-by: default avatarXie He <xie.he.0141@gmail.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    44a049c4
hdlc_fr.c 29.3 KB