• David Ahern's avatar
    net: Introduce new api for walking upper and lower devices · 1a3f060c
    David Ahern authored
    This patch introduces netdev_walk_all_upper_dev_rcu,
    netdev_walk_all_lower_dev and netdev_walk_all_lower_dev_rcu. These
    functions recursively walk the adj_list of devices to determine all upper
    and lower devices.
    
    The functions take a callback function that is invoked for each device
    in the list. If the callback returns non-0, the walk is terminated and
    the functions return that code back to callers.
    
    v3
    - simplified netdev_has_upper_dev_all_rcu and __netdev_has_upper_dev and
      removed typecast as suggested by Stephen
    
    v2
    - fixed definition of netdev_next_lower_dev_rcu to mirror the upper_dev
      version.
    Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1a3f060c
dev.c 209 KB