• Jeff Moyer's avatar
    [NETPOLL]: allow multiple netpoll_clients to register against one interface · fbeec2e1
    Jeff Moyer authored
    This patch provides support for registering multiple netpoll clients to the
    same network device.  Only one of these clients may register an rx_hook,
    however.  In practice, this restriction has not been problematic.  It is
    worth mentioning, though, that the current design can be easily extended to
    allow for the registration of multiple rx_hooks.
    
    The basic idea of the patch is that the rx_np pointer in the netpoll_info
    structure points to the struct netpoll that has rx_hook filled in.  Aside
    from this one case, there is no need for a pointer from the struct
    net_device to an individual struct netpoll.
    
    A lock is introduced to protect the setting and clearing of the np_rx
    pointer.  The pointer will only be cleared upon netpoll client module
    removal, and the lock should be uncontested.
    Signed-off-by: default avatarJeff Moyer <jmoyer@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fbeec2e1
netpoll.c 17.3 KB