• Eric W. Biederman's avatar
    mpls: Basic support for adding and removing routes · a2519929
    Eric W. Biederman authored
    mpls_route_add and mpls_route_del implement the basic logic for adding
    and removing Next Hop Label Forwarding Entries from the MPLS input
    label map.  The addition and subtraction is done in a way that is
    consistent with how the existing routing table in Linux are
    maintained.  Thus all of the work to deal with NLM_F_APPEND,
    NLM_F_EXCL, NLM_F_REPLACE, and NLM_F_CREATE.
    
    Cases that are not clearly defined such as changing the interpretation
    of the mpls reserved labels is not allowed.
    
    Because it seems like the right thing to do adding an MPLS route without
    specifying an input label and allowing the kernel to pick a free label
    table entry is supported.   The implementation is currently less than optimal
    but that can be changed.
    
    As I don't have anything else to test with only ethernet and the loopback
    device are the only two device types currently supported for forwarding
    MPLS over.
    Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a2519929
af_mpls.c 14.1 KB