linux/include/net/failover.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/* Copyright (c) 2018, Intel Corporation. */
   3
   4#ifndef _FAILOVER_H
   5#define _FAILOVER_H
   6
   7#include <linux/netdevice.h>
   8
   9struct failover_ops {
  10        int (*slave_pre_register)(struct net_device *slave_dev,
  11                                  struct net_device *failover_dev);
  12        int (*slave_register)(struct net_device *slave_dev,
  13                              struct net_device *failover_dev);
  14        int (*slave_pre_unregister)(struct net_device *slave_dev,
  15                                    struct net_device *failover_dev);
  16        int (*slave_unregister)(struct net_device *slave_dev,
  17                                struct net_device *failover_dev);
  18        int (*slave_link_change)(struct net_device *slave_dev,
  19                                 struct net_device *failover_dev);
  20        int (*slave_name_change)(struct net_device *slave_dev,
  21                                 struct net_device *failover_dev);
  22        rx_handler_result_t (*slave_handle_frame)(struct sk_buff **pskb);
  23};
  24
  25struct failover {
  26        struct list_head list;
  27        struct net_device __rcu *failover_dev;
  28        struct failover_ops __rcu *ops;
  29};
  30
  31struct failover *failover_register(struct net_device *dev,
  32                                   struct failover_ops *ops);
  33void failover_unregister(struct failover *failover);
  34int failover_slave_unregister(struct net_device *slave_dev);
  35
  36#endif /* _FAILOVER_H */
  37