Hi,
we have figured out an issue with the current PRP driver when trying to
communicate with Cisco IE 2000 industrial Ethernet switches in Redbox mode. The
Cisco always resets the HSR/PRP sequence counter to "1" at low traffic (<= 1
frame in 400 ms). It can be reproduced by a simple ICMP echo request with 1 s
interval between a Linux box running with PRP and a VDAN behind the Cisco
Redbox. The Linux box then always receives frames with sequence counter "1" and
drops them. The behavior is not configurable at the Cisco Redbox.
I fixed it by ignoring sequence counters with value "1" at the sequence counter
check in hsr_register_frame_out ():
diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c
index 5c97de459905..630c238e81f0 100644
--- a/net/hsr/hsr_framereg.c
+++ b/net/hsr/hsr_framereg.c
@@ -411,7 +411,7 @@ void hsr_register_frame_in(struct hsr_node *node, struct
hsr_port *port,
int hsr_register_frame_out(struct hsr_port *port, struct hsr_node *node,
u16 sequence_nr)
{
- if (seq_nr_before_or_eq(sequence_nr, node->seq_out[port->type]))
+ if (seq_nr_before_or_eq(sequence_nr, node->seq_out[port->type]) &&
(sequence_nr != 1))
return 1;
node->seq_out[port->type] = sequence_nr;
Do you think this could be a solution? Should this patch be officially applied
in order to avoid other users running into these communication issues?
Thanks
Marco Wenzel