• S
    l2tp: Add protocol field decompression · c151acc6
    Sam Protsenko 提交于
    When Protocol Field Compression (PFC) is enabled, the "Protocol" field
    in PPP packet will be received without leading 0x00. See section 6.5 in
    RFC 1661 for details. So let's decompress protocol field if needed, the
    same way it's done in drivers/net/ppp/pptp.c.
    
    In case when "nopcomp" pppd option is not enabled, PFC (pcomp) can be
    negotiated during LCP handshake, and L2TP driver in kernel will receive
    PPP packets with compressed Protocol field, which in turn leads to next
    error:
    
        Protocol Rejected (unsupported protocol 0x2145)
    
    because instead of Protocol=0x0021 in PPP packet there will be
    Protocol=0x21. This patch unwraps it back to 0x0021, which fixes the
    issue.
    
    Sending the compressed Protocol field will be implemented in subsequent
    patch, this one is self-sufficient.
    Signed-off-by: NSam Protsenko <semen.protsenko@linaro.org>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    c151acc6
l2tp_ppp.c 44.0 KB