Resending of GOOSE is done according to the IEC 61580 specification.
In example B as described in the previous chapters, there are not resends because the ping-pong values are changing quickly before the configured GOOSE “Publish Min. Time” has expired.
The resend gets visible in Wireshark when the quick value changing is stopped (e.g. by stopping the other IED in the ping-pong example B). The following figure shows an AC500 GOOSE Publisher with max. time = 4000 ms, min. time = 20 ms and configured IEC 61850 task cycle time = 5 ms.

Two phases are visible in the Wireshark screenshot.
1. Slow retransmission in stable conditions (no event for a long time) above the blue line. When the value does not change (column “integer” = pong value = 2):
-
The GOOSE message is resent continuously and slowly.
-
“timeAllowedtoLive” is 4000 ms (= max. time).
-
Message is retransmitted every 2000 ms (half of “timeAllowedtoLive” according to IEC61850-8-1).
-
“sqNum” is increasing, “stNum” is not changing.
-
2. Change of value and fast retransmission. When the value changes (column integer = pong value was forced from 2 to 3):
-
A new package (“stNum” increased, “sqNum” = 0) is sent immediately (*), see blue line.
-
Same package is resent continuously, starting with a high frequency.
-
The resend time is starting at 20 ms (= configured min. time) and doubled with every resend until it has reached half of the max. time to go back to slow retransmission.
-
The “timeAllowedtoLive” is always double of the next resend time (*).
-
The configured GOOSE min. time should always be higher than the configured IEC 61850 task cycle time!
(*) Sending GOOSE messages is executed in the IEC 61850 task and therefore can be delayed by the configured task cycle time (worst case).