• Eric W. Biederman's avatar
    DECnet: Only use neigh_ops for adding the link layer header · aaa4e704
    Eric W. Biederman authored
    Other users users of the neighbour table use neigh->output as the method
    to decided when and which link-layer header to place on a packet.
    DECnet has been using neigh->output to decide which DECnet headers to
    place on a packet depending which neighbour the packet is destined for.
    
    The DECnet usage isn't totally wrong but it can run into problems if the
    neighbour output function is run for a second time as the teql driver
    and the bridge netfilter code can do.
    
    Therefore to avoid pathologic problems later down the line and make the
    neighbour code easier to understand by refactoring the decnet output
    code to only use a neighbour method to add a link layer header to a
    packet.
    
    This is done by moving the neigbhour operations lookup from
    dn_to_neigh_output to dn_neigh_output_packet.
    Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    aaa4e704
dn_neigh.c 15.5 KB