net/hsr: Add support for the High-availability Seamless Redundancy protocol (HSRv0)
authorArvid Brodin <Arvid.Brodin@xdin.com>
Wed, 30 Oct 2013 20:10:47 +0000 (21:10 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Nov 2013 04:20:14 +0000 (23:20 -0500)
commitf421436a591d34fa5279b54a96ac07d70250cc8d
treef5435cfb8877fd029dce3bdb617fae090711316f
parent74d332c13b2148ae934ea94dac1745ae92efe8e5
net/hsr: Add support for the High-availability Seamless Redundancy protocol (HSRv0)

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>
15 files changed:
include/uapi/linux/hsr_netlink.h [new file with mode: 0644]
include/uapi/linux/if_ether.h
include/uapi/linux/if_link.h
net/Kconfig
net/Makefile
net/hsr/Kconfig [new file with mode: 0644]
net/hsr/Makefile [new file with mode: 0644]
net/hsr/hsr_device.c [new file with mode: 0644]
net/hsr/hsr_device.h [new file with mode: 0644]
net/hsr/hsr_framereg.c [new file with mode: 0644]
net/hsr/hsr_framereg.h [new file with mode: 0644]
net/hsr/hsr_main.c [new file with mode: 0644]
net/hsr/hsr_main.h [new file with mode: 0644]
net/hsr/hsr_netlink.c [new file with mode: 0644]
net/hsr/hsr_netlink.h [new file with mode: 0644]