f421436a59
High-availability Seamless Redundancy ("HSR") provides instant failover redundancy for Ethernet networks. It requires a special network topology where all nodes are connected in a ring (each node having two physical network interfaces). It is suited for applications that demand high availability and very short reaction time. HSR acts on the Ethernet layer, using a registered Ethernet protocol type to send special HSR frames in both directions over the ring. The driver creates virtual network interfaces that can be used just like any ordinary Linux network interface, for IP/TCP/UDP traffic etc. All nodes in the network ring must be HSR capable. This code is a "best effort" to comply with the HSR standard as described in IEC 62439-3:2010 (HSRv0). Signed-off-by: Arvid Brodin <arvid.brodin@xdin.com> Signed-off-by: David S. Miller <davem@davemloft.net>
31 lines
906 B
C
31 lines
906 B
C
/* Copyright 2011-2013 Autronica Fire and Security AS
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the Free
|
|
* Software Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* Author(s):
|
|
* 2011-2013 Arvid Brodin, arvid.brodin@xdin.com
|
|
*/
|
|
|
|
#ifndef __HSR_NETLINK_H
|
|
#define __HSR_NETLINK_H
|
|
|
|
#include <linux/if_ether.h>
|
|
#include <linux/module.h>
|
|
#include <uapi/linux/hsr_netlink.h>
|
|
|
|
struct hsr_priv;
|
|
|
|
int __init hsr_netlink_init(void);
|
|
void __exit hsr_netlink_exit(void);
|
|
|
|
void hsr_nl_ringerror(struct hsr_priv *hsr_priv, unsigned char addr[ETH_ALEN],
|
|
int dev_idx);
|
|
void hsr_nl_nodedown(struct hsr_priv *hsr_priv, unsigned char addr[ETH_ALEN]);
|
|
void hsr_nl_framedrop(int dropcount, int dev_idx);
|
|
void hsr_nl_linkdown(int dev_idx);
|
|
|
|
#endif /* __HSR_NETLINK_H */
|