• Guillaume Nault's avatar
    l2tp: fix pseudo-wire type for sessions created by pppol2tp_connect() · 90904ff5
    Guillaume Nault authored
    Define cfg.pw_type so that the new session is created with its .pwtype
    field properly set (L2TP_PWTYPE_PPP).
    
    Not setting the pseudo-wire type had several annoying effects:
    
      * Invalid value returned in the L2TP_ATTR_PW_TYPE attribute when
        dumping sessions with the netlink API.
    
      * Impossibility to delete the session using the netlink API (because
        l2tp_nl_cmd_session_delete() gets the deletion callback function
        from an array indexed by the session's pseudo-wire type).
    
    Also, there are several cases where we should check a session's
    pseudo-wire type. For example, pppol2tp_connect() should refuse to
    connect a session that is not PPPoL2TP, but that requires the session's
    .pwtype field to be properly set.
    
    Fixes: f7faffa3 ("l2tp: Add L2TPv3 protocol support")
    Signed-off-by: default avatarGuillaume Nault <g.nault@alphalink.fr>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    90904ff5
l2tp_ppp.c 46.8 KB