mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
/* Copyright (c) 2018, Intel Corporation. */ |
|
|
|
#ifndef _FAILOVER_H |
|
#define _FAILOVER_H |
|
|
|
#include <linux/netdevice.h> |
|
|
|
struct failover_ops { |
|
int (*slave_pre_register)(struct net_device *slave_dev, |
|
struct net_device *failover_dev); |
|
int (*slave_register)(struct net_device *slave_dev, |
|
struct net_device *failover_dev); |
|
int (*slave_pre_unregister)(struct net_device *slave_dev, |
|
struct net_device *failover_dev); |
|
int (*slave_unregister)(struct net_device *slave_dev, |
|
struct net_device *failover_dev); |
|
int (*slave_link_change)(struct net_device *slave_dev, |
|
struct net_device *failover_dev); |
|
int (*slave_name_change)(struct net_device *slave_dev, |
|
struct net_device *failover_dev); |
|
rx_handler_result_t (*slave_handle_frame)(struct sk_buff **pskb); |
|
}; |
|
|
|
struct failover { |
|
struct list_head list; |
|
struct net_device __rcu *failover_dev; |
|
struct failover_ops __rcu *ops; |
|
}; |
|
|
|
struct failover *failover_register(struct net_device *dev, |
|
struct failover_ops *ops); |
|
void failover_unregister(struct failover *failover); |
|
int failover_slave_unregister(struct net_device *slave_dev); |
|
|
|
#endif /* _FAILOVER_H */
|
|
|