network: add support for HSR netdev
Add support for creating HSR/PRP interfaces. HSR (High-availability Seamless Redundancy) and PRP (Parallel Redundancy Protocol) are two protocols that provide seamless failover against failure of any single network component. They are both implemented by the "hsr" kernel driver.
This commit is contained in:
committed by
Yu Watanabe
parent
c1b0e39ffd
commit
f7996e2a33
@@ -164,6 +164,9 @@
|
||||
<row><entry><varname>geneve</varname></entry>
|
||||
<entry>A GEneric NEtwork Virtualization Encapsulation (GENEVE) netdev driver.</entry></row>
|
||||
|
||||
<row><entry><varname>hsr</varname></entry>
|
||||
<entry>A High-availability Seamless Redundancy (HSR) or Parallel Redundancy Protocol (PRP) interface. HSR and PRP are two protocols defined by the IEC 62439-3 standard, providing seamless failover against failure of any single network component.</entry></row>
|
||||
|
||||
<row><entry><varname>l2tp</varname></entry>
|
||||
<entry>A Layer 2 Tunneling Protocol (L2TP) is a tunneling protocol used to support virtual private networks (VPNs) or as part of the delivery of services by ISPs. It does not provide any encryption or confidentiality by itself</entry></row>
|
||||
|
||||
@@ -1027,6 +1030,58 @@
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>[HSR] Section Options</title>
|
||||
|
||||
<para>The [HSR] section only applies for
|
||||
netdevs of kind <literal>hsr</literal>, and accepts the
|
||||
following keys:</para>
|
||||
|
||||
<variablelist class='network-directives'>
|
||||
<varlistentry>
|
||||
<term><varname>Ports=</varname></term>
|
||||
<listitem>
|
||||
<para>Specifies the underlying interfaces. This field is mandatory and must contain exactly two
|
||||
interface names separated by space. This option can be specified multiples times, hence the two cases below have the same result:
|
||||
<programlisting>Ports=eth1 eth2</programlisting>
|
||||
<programlisting>Ports=eth1
|
||||
Ports=eth2</programlisting>
|
||||
All the previous assignments are cleared when an empty string is specified.
|
||||
</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v258"/>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>Protocol=</varname></term>
|
||||
<listitem>
|
||||
<para>Specifies the protocol used by the interface. Takes one of <literal>hsr</literal> or
|
||||
<literal>prp</literal>. Defaults to <literal>hsr</literal>.</para>
|
||||
|
||||
<para>Both protocols work by sending two copies of every outgoing frame, one for each of the two
|
||||
ports. The destination node receives the two frames and and keeps only the first one. If a link
|
||||
fails, only one of the two frames is received. HSR uses a ring topology where the two outgoing
|
||||
frames are sent in opposite directions in the ring. PRP doesn't need a specific topology, but it
|
||||
requires two completely redundant networks attached to the two ports.</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v258"/>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>Supervision=</varname></term>
|
||||
<listitem>
|
||||
<para>Specifies the last byte of the destination MAC address of supervision frames. Takes a number
|
||||
between 0 and 255. Defaults to 0. Supervision frames are used by the HSR and the PRP protocols to
|
||||
monitor the integrity of the network and the presence of nodes. The first 5 bytes of the
|
||||
destination MAC are always 01:15:4E:00:01 while the last byte is configurable.
|
||||
</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v258"/>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>[BareUDP] Section Options</title>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user