a positive test proves Ze does what the requirement demands and a negative one proves it refuses what the requirement forbids
RFC 3768 - Virtual Router Redundancy Protocol (VRRP)
Every requirement this repository extracted from RFC 3768, the tests bound to it, and what a reader has verified about them. This summary is enrolled and gated by ./le rfc check.
Overview
Positive
what Ze has
the requirement admits no counter-case, so one polarity plus a recorded reason is the whole proof available for it
one direction is tested, the other is neither tested nor excused, and nothing states which
no test carries the requirement id, whether or not a gap states why
a red was observed once under a recorded procedure, and the unit, the claim and the producer it rested on still hash to what was recorded. The break is not re-run. A test pair is not a proof until one has been observed
Neutral
measures that are neither good news nor bad
MUST-level requirements the gate HOLDS. A population, not a result: the shares beside it are what says how Ze stands
a {not-applicable} annotation says the obligation does not bind Ze. Scope, not coverage: it is in no share below
The 4 shares marked as a part above are the whole of the 36 obligations that bind Ze: they add to 100%. Proven by a recorded break is a share of TAGGED UNITS, a different population, so it is not one of them.
How to read the colors
A color names what the measure MEANS, not how well Ze scores on it. Green is a good outcome at any value, red is a bad one, and neither a population nor a scope count is an outcome, so both take no color. The number under the label is what says how far Ze has got.
| Card | Tone here | Why that color |
|---|---|---|
| Gated MUSTs | neutral | no color: a population is a scale, and a larger one is neither good news nor bad. It is the accounting total |
| Out of scope | neutral | no color: an obligation that never bound Ze is neither an achievement nor a failure, and counting it either way would be a claim |
| Tested both ways | ok | green at every value: a test pair is the outcome this gate exists to produce, and the share under the label is what says how far Ze has got |
| One polarity plus reason | ok | green at every value: where no counter-case exists, one polarity IS the complete answer, and a recorded reason is what the gate demands beside it |
| One polarity, unexcused | ok | green at zero, RED above it: half a proof with no reason for the other half |
| No test at all | ok | green at zero, RED above it: a binding obligation nothing exercises is a claim with nothing behind it, whether or not a reason is stated |
| Proven by a recorded break | ok | green at every value: an observed break is the outcome the discrimination gate exists to produce. The denominator is TAGGED UNITS, not obligations, so this share is not one of the parts above |
| Audit verdicts | warn | RED on the first weak, wrong or unimplemented verdict, amber while a verdict is no longer current or a gated MUST is unjudged, green when every one is judged sound and current |
At a glance
| Field | Value |
|---|---|
| Public status | Experimental |
| Enrolment | Enrolled |
| Requirements | 50 |
| Gated MUST-level | 39 |
| Obligations that bind Ze | 36 |
| Not applicable, so out of scope | 3 |
| Declared gaps | 0 |
| Gated with no test | 0 |
| Nightly-only evidence | 0 |
| Test tags | 69 |
| Tagged units | 69 |
| Recorded audit verdicts | 0 |
| Discrimination records | 0 |
| Summary | rfc/short/rfc3768.md |
| Requirement shard | rfc/requirements/rfc3768.md |
| RFC text | rfc/full/rfc3768.txt |
Enrolment
Enrolled: Virtual Router Redundancy Protocol v2 / VRRP (RFC 3768): 30 MET (advertisement format, priority/master election, skew time, virtual MAC, gratuitous ARP, adoption) + 5 single-polarity positive + 1 gap (accept-mode) + 3 not-applicable (deprecated authentication)
What the public ledger says
Status: Experimental
What the ledger says is covered
Opt-in viaversion 2. Whole-second Advertisement_Interval encoding, v2 advert format, the v2 receive-validation ladder (version, complete-packet, checksum, VRID, Auth Type 0, interval-mismatch discard, address-list discard), the Section 6.4 state machine (priority/master election, skew time, preemption, silent losing-advert discard), virtual-MAC ownership of the VIP via a per-group macvlan, and the v2 rejection rules (no accept-mode, no IPv6).
What the ledger says remains:
No gap gated inrfc/short/rfc3768.md. RFC 3768 authentication types are deliberately not implemented: RFC 9568 Section 9 removed them as providing no real security. Same VRRP experimental status.
Coverage
| Bucket | Count | What it counts |
|---|---|---|
| Positive and negative tests | 31 | one part of the gated population |
| Annotated instead of tested | 8 | one part of the gated population |
| One polarity only | 0 | one part of the gated population |
| No test and no annotation | 0 | one part of the gated population |
| Evidence that runs nightly only | 0 | an overlay: each of these is also counted by the part it falls in |
| Gated MUST-level requirements | 39 | every gated MUST falls in exactly one bucket above |
Positive and negative tests (31): RFC3768-5.2.3-2, RFC3768-5.3.2-1, RFC3768-5.3.4-1, RFC3768-5.3.4-2, RFC3768-5.3.6-1, RFC3768-6.4.2-1, RFC3768-6.4.2-2, RFC3768-6.4.2-3, RFC3768-6.4.2-4, RFC3768-6.4.2-5, RFC3768-6.4.2-6, RFC3768-6.4.2-7, RFC3768-6.4.2-8, RFC3768-6.4.3-1, RFC3768-6.4.3-2, RFC3768-6.4.3-3, RFC3768-6.4.3-4, RFC3768-6.4.3-5, RFC3768-6.4.3-6, RFC3768-6.4.3-7, RFC3768-6.4.3-8, RFC3768-6.4.3-9, RFC3768-7.1-1, RFC3768-7.1-2, RFC3768-7.1-3, RFC3768-7.1-4, RFC3768-7.1-5, RFC3768-7.1-6, RFC3768-7.1-7, RFC3768-7.1-8, RFC3768-8.2-1
Annotated instead of tested (8): RFC3768-5.2.2-1, RFC3768-5.2.3-1, RFC3768-7.2-1, RFC3768-7.2-2, RFC3768-7.2-3, RFC3768-7.2-4, RFC3768-8.3-1, RFC3768-9.2-1
Requirements
| Requirement | Level | Section | Tests |
|---|---|---|---|
RFC3768-5.2.2-1 | Never forward a datagram destined to 224.0.0.18, regardless of its TTL (§5.2.2) | ||
| MUST NOT | 5.2.2 | positive
no testno positive testnegative
no testno negative test{not-applicable}: the VRRP plugin performs no IP datagram forwarding -- instance.onPacket internal/plugins/vrrp/instance.go:453 consumes each received advert into the FSM and never re-emits it, and tx scopes adverts to link-local multicast with IP_MULTICAST_LOOP 0 at internal/plugins/vrrp/transport/backend_linux.go:143 |
|
RFC3768-5.2.3-1 | Set the IP TTL of transmitted VRRP packets to 255 (§5.2.3) | ||
| MUST | 5.2.3 | negative
no testno negative test{single-polarity}: buildIPv4Header unconditionally sets TTL 255 at internal/plugins/vrrp/transport/transport.go:562, so no input yields a different TTL -- the rx TTL!=255 discard is the separate RFC3768-5.2.3-2 |
|
RFC3768-5.2.3-2 | Discard received VRRP packets whose TTL is not equal to 255 (§5.2.3, §7.1) | ||
| MUST | 5.2.3 | ||
RFC3768-5.3.2-1 | Discard packets with unknown Type; only 1 = ADVERTISEMENT is defined (§5.3.2) | ||
| MUST | 5.3.2 | ||
RFC3768-5.3.4-1 | Use Priority 255 for the VRRP router that owns the virtual router's IP address(es) (§5.3.4) | ||
| MUST | 5.3.4 | ||
RFC3768-5.3.4-2 | Use Priority values 1-254 for VRRP routers backing up a virtual router (§5.3.4) | ||
| MUST | 5.3.4 | ||
RFC3768-5.3.6-1 | Discard packets with unknown Auth Type or an Auth Type that does not match the locally configured authentication method (§5.3.6, §7.1) | ||
| MUST | 5.3.6 | ||
RFC3768-6.4.2-1 | Backup: never respond to ARP requests for the IP address(es) associated with the virtual router (§6.4.2) | ||
| MUST NOT | 6.4.2 | ||
RFC3768-6.4.2-2 | Backup: discard packets with a destination link-layer MAC address equal to the virtual router MAC address (§6.4.2) | ||
| MUST | 6.4.2 | ||
RFC3768-6.4.2-3 | Backup: never accept packets addressed to the IP address(es) associated with the virtual router (§6.4.2) | ||
| MUST NOT | 6.4.2 | ||
RFC3768-6.4.2-4 | Backup: on Shutdown, cancel the Master_Down_Timer and transition to Initialize (§6.4.2) | ||
| MUST | 6.4.2 | ||
RFC3768-6.4.2-5 | Backup: when the Master_Down_Timer fires, send an ADVERTISEMENT, broadcast a gratuitous ARP with the virtual router MAC for each virtual IP address, set the Adver_Timer to Advertisement_Interval, and transition to Master (§6.4.2) | ||
| MUST | 6.4.2 | ||
RFC3768-6.4.2-6 | Backup: on an ADVERTISEMENT with Priority 0, set the Master_Down_Timer to Skew_Time (§6.4.2) | ||
| MUST | 6.4.2 | ||
RFC3768-6.4.2-7 | Backup: on a non-zero-priority ADVERTISEMENT, if Preempt_Mode is False or the advertised Priority >= local Priority, reset the Master_Down_Timer to Master_Down_Interval (§6.4.2) | ||
| MUST | 6.4.2 | ||
RFC3768-6.4.2-8 | Backup: on a non-zero-priority ADVERTISEMENT with Preempt_Mode True and advertised Priority < local Priority, discard the ADVERTISEMENT (§6.4.2) | ||
| MUST | 6.4.2 | ||
RFC3768-6.4.3-1 | Master: respond to ARP requests for the IP address(es) associated with the virtual router, answering with the virtual MAC address (§6.4.3, §8.2) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-2 | Master: forward packets with a destination link-layer MAC address equal to the virtual router MAC address (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-3 | Master: never accept packets addressed to the virtual router IP address(es) when not the IP address owner (§6.4.3) | ||
| MUST NOT | 6.4.3 | ||
RFC3768-6.4.3-4 | Master: accept packets addressed to the virtual router IP address(es) when the IP address owner (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-5 | Master: on Shutdown, cancel the Adver_Timer, send an ADVERTISEMENT with Priority = 0, and transition to Initialize (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-6 | Master: when the Adver_Timer fires, send an ADVERTISEMENT and reset the Adver_Timer to Advertisement_Interval (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-7 | Master: on an ADVERTISEMENT with Priority 0, send an ADVERTISEMENT and reset the Adver_Timer to Advertisement_Interval (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-8 | Master: on an ADVERTISEMENT with higher Priority, or equal Priority and greater sender primary IP address, cancel the Adver_Timer, set the Master_Down_Timer to Master_Down_Interval, and transition to Backup (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-6.4.3-9 | Master: on a losing ADVERTISEMENT (lower Priority, or equal Priority with smaller sender address), discard it (§6.4.3) | ||
| MUST | 6.4.3 | ||
RFC3768-7.1-1 | Rx: verify the VRRP version is 2 (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-2 | Rx: verify the received packet contains the complete VRRP packet, including fixed fields, IP address(es), and Authentication Data (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-3 | Rx: verify the VRRP checksum (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-4 | Rx: verify the VRID is configured on the receiving interface and the local router is not the IP address owner (Priority = 255) (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-5 | Rx: verify the Auth Type matches the locally configured authentication method and perform that method (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-6 | Rx: discard the packet if any mandatory receive check fails (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-7 | Rx: if the optional address-list check fails and the sender is not the address owner (Priority != 255), drop the packet (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.1-8 | Rx: verify the Adver Interval in the packet equals the locally configured value; discard the packet on mismatch (§7.1) | ||
| MUST | 7.1 | ||
RFC3768-7.2-1 | Tx: fill in the VRRP fields from the virtual router configuration state and compute the VRRP checksum (§7.2) | ||
| MUST | 7.2 | negative
no testno negative test{single-polarity}: a golden encode pins every field and the checksum -- WriteTo internal/plugins/vrrp/packet/packet.go:251 plus FillChecksum internal/plugins/vrrp/packet/checksum.go:86 -- while a corrupted-encoding rejection is the separate receive requirement RFC3768-7.1-3 |
|
RFC3768-7.2-2 | Tx: set the source MAC address to the virtual router MAC address (§7.2) | ||
| MUST | 7.2 | negative
no testno negative test{single-polarity}: the source MAC is the virtual-router MAC from packet.VirtualMAC internal/plugins/vrrp/packet/packet.go:97 egressed by binding the tx socket to the vMAC macvlan internal/plugins/vrrp/transport/backend_linux.go:133, a deterministic derivation with no input that yields a different MAC |
|
RFC3768-7.2-3 | Tx: set the source IP address to the interface primary IP address (§7.2) | ||
| MUST | 7.2 | negative
no testno negative test{single-polarity}: the source IP is the parent unit primary IPv4 from resolveParentPrimaryV4 internal/plugins/vrrp/transport/transport.go:573, a deterministic selection re-resolved on address change, with no input that yields a wrong-source advert |
|
RFC3768-7.2-4 | Tx: set the IP protocol to VRRP (112) and send to the VRRP IP multicast group 224.0.0.18 (§7.2) | ||
| MUST | 7.2 | negative
no testno negative test{single-polarity}: buildIPv4Header sets IP protocol 112 at internal/plugins/vrrp/transport/transport.go:563 and SendAdvert targets 224.0.0.18 at internal/plugins/vrrp/transport/backend_linux.go:256, both constants with no input that changes them |
|
RFC3768-8.2-1 | Master: never respond to host ARP requests for virtual addresses with the physical MAC address (§8.2) | ||
| MUST NOT | 8.2 | ||
RFC3768-8.3-1 | Advertise the virtual router MAC address in Proxy ARP messages sent on behalf of VRRP-protected addresses (§8.3; lowercase "must" in the RFC) | ||
| MUST | 8.3 | positive
no testno positive testnegative
no testno negative test{not-applicable}: ze performs no proxy ARP for virtual addresses -- the per-group virtual-MAC macvlan answers ARP for the VIP directly (createMacvlan internal/plugins/vrrp/register.go:329 plus the sole-responder sysctl recipe internal/plugins/vrrp/dataplane_linux.go:64), and no proxy-ARP path exists |
|
RFC3768-9.2-1 | Token ring: implement the functional-address mode of operation when supporting VRRP on token ring (§9.2) | ||
| MUST | 9.2 | positive
no testno positive testnegative
no testno negative test{not-applicable}: ze supports only Ethernet-family parents (ethernet, veth, bridge, dummy -- internal/plugins/vrrp/groups.go:76) over AF_PACKET macvlan transport internal/plugins/vrrp/transport/backend_linux.go, with no token-ring transport, so the functional-address mode has no applicable code path |
|
RFC3768-5.3.10-1 | Set Authentication Data to zero on transmission and ignore it on reception (§5.3.10) | ||
| SHOULD | 5.3.10 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-7.1-9 | Log the event when a mandatory receive check fails (§7.1) | ||
| SHOULD | 7.1 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-7.1-10 | Log the event on an address-list mismatch (§7.1) | ||
| SHOULD | 7.1 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-7.1-11 | Log the event on an Adver Interval mismatch (§7.1) | ||
| SHOULD | 7.1 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-8.2-2 | After restart/boot, never send ARP messages with the physical MAC address for owned virtual IP addresses (§8.2) | ||
| SHOULD NOT | 8.2 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-8.2-3 | Broadcast a gratuitous ARP with the virtual router MAC for each IP address when configuring an interface, and delay ARP at boot until both the IP address and virtual MAC are configured (§8.2) | ||
| SHOULD | 8.2 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-8.4-1 | Never forward packets addressed to IP addresses adopted as Master when not the owner (§8.4) | ||
| SHOULD NOT | 8.4 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-9.1-1 | FDDI: configure the virtual router MAC via a unicast MAC filter rather than changing the hardware MAC address (§9.1) | ||
| SHOULD | 9.1 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-7.1-12 | Indicate via network management that a receive error or misconfiguration occurred (§7.1) | ||
| MAY | 7.1 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-7.1-13 | Verify that Count IP Addrs and the address list match the IP_Addresses configured for the VRID (§7.1) | ||
| MAY | 7.1 | positive
no testno positive testnegative
no testno negative test |
|
RFC3768-9.2-2 | Token ring: support the unicast mode of operation in addition to functional addresses (§9.2) | ||
| MAY | 9.2 | positive
no testno positive testnegative
no testno negative test |
|
Gaps and untested MUSTs
| Requirement | State | Reason |
|---|---|---|
RFC3768-5.2.2-1 Never forward a datagram destined to 224.0.0.18, regardless of its TTL (§5.2.2) |
no test | no test carries this requirement id; annotated {not-applicable}: the VRRP plugin performs no IP datagram forwarding -- instance.onPacket internal/plugins/vrrp/instance.go:453 consumes each received advert into the FSM and never re-emits it, and tx scopes adverts to link-local multicast with IP_MULTICAST_LOOP 0 at internal/plugins/vrrp/transport/backend_linux.go:143 |
RFC3768-8.3-1 Advertise the virtual router MAC address in Proxy ARP messages sent on behalf of VRRP-protected addresses (§8.3; lowercase "must" in the RFC) |
no test | no test carries this requirement id; annotated {not-applicable}: ze performs no proxy ARP for virtual addresses -- the per-group virtual-MAC macvlan answers ARP for the VIP directly (createMacvlan internal/plugins/vrrp/register.go:329 plus the sole-responder sysctl recipe internal/plugins/vrrp/dataplane_linux.go:64), and no proxy-ARP path exists |
RFC3768-9.2-1 Token ring: implement the functional-address mode of operation when supporting VRRP on token ring (§9.2) |
no test | no test carries this requirement id; annotated {not-applicable}: ze supports only Ethernet-family parents (ethernet, veth, bridge, dummy -- internal/plugins/vrrp/groups.go:76) over AF_PACKET macvlan transport internal/plugins/vrrp/transport/backend_linux.go, with no token-ring transport, so the functional-address mode has no applicable code path |
Proof state
A tagged unit reads unproven where no discrimination record exists for it: nothing in this tree has been observed to break it, so the claim its tag makes is unproven.
RFC3768-5.2.2-1
Never forward a datagram destined to 224.0.0.18, regardless of its TTL (§5.2.2)
Audit verdict: not audited: no reader has judged these tests
No test carries RFC3768-5.2.2-1, so no unit is bound to it.
RFC3768-5.2.3-1
Set the IP TTL of transmitted VRRP packets to 255 (§5.2.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| positive | TestSendAdvertIPv4HeaderTTLProtoDst |
unit/verify | unproven |
RFC3768-5.2.3-2
Discard received VRRP packets whose TTL is not equal to 255 (§5.2.3, §7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestNegativeReferenceBugs |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-5.3.2-1
Discard packets with unknown Type; only 1 = ADVERTISEMENT is defined (§5.3.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestValidationOrder |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-5.3.4-1
Use Priority 255 for the VRRP router that owns the virtual router's IP address(es) (§5.3.4)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestOwnerAutoDetection |
unit/verify | unproven |
| positive | TestOwnerAutoDetection |
unit/verify | unproven |
RFC3768-5.3.4-2
Use Priority values 1-254 for VRRP routers backing up a virtual router (§5.3.4)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestBoundaryPriority |
unit/verify | unproven |
| positive | TestBoundaryPriority |
unit/verify | unproven |
RFC3768-5.3.6-1
Discard packets with unknown Auth Type or an Auth Type that does not match the locally configured authentication method (§5.3.6, §7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestNegativeReferenceBugs |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-6.4.2-1
Backup: never respond to ARP requests for the IP address(es) associated with the virtual router (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceOwnerStartupGoesMaster |
unit/verify | unproven |
| positive | TestInstanceStartupNonOwnerGoesBackup |
unit/verify | unproven |
RFC3768-6.4.2-2
Backup: discard packets with a destination link-layer MAC address equal to the virtual router MAC address (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceOwnerStartupGoesMaster |
unit/verify | unproven |
| positive | TestInstanceStartupNonOwnerGoesBackup |
unit/verify | unproven |
RFC3768-6.4.2-3
Backup: never accept packets addressed to the IP address(es) associated with the virtual router (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceOwnerStartupGoesMaster |
unit/verify | unproven |
| positive | TestInstanceStartupNonOwnerGoesBackup |
unit/verify | unproven |
RFC3768-6.4.2-4
Backup: on Shutdown, cancel the Master_Down_Timer and transition to Initialize (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.2-5
Backup: when the Master_Down_Timer fires, send an ADVERTISEMENT, broadcast a gratuitous ARP with the virtual router MAC for each virtual IP address, set the Adver_Timer to Advertisement_Interval, and transition to Master (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMStaleTimerGenerationIgnored |
unit/verify | unproven |
| positive | TestFSMMasterDownPromotion |
unit/verify | unproven |
RFC3768-6.4.2-6
Backup: on an ADVERTISEMENT with Priority 0, set the Master_Down_Timer to Skew_Time (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.2-7
Backup: on a non-zero-priority ADVERTISEMENT, if Preempt_Mode is False or the advertised Priority >= local Priority, reset the Master_Down_Timer to Master_Down_Interval (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.2-8
Backup: on a non-zero-priority ADVERTISEMENT with Preempt_Mode True and advertised Priority < local Priority, discard the ADVERTISEMENT (§6.4.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.3-1
Master: respond to ARP requests for the IP address(es) associated with the virtual router, answering with the virtual MAC address (§6.4.3, §8.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestDataplaneRestoreOnLastGroup |
unit/verify | unproven |
| positive | TestDataplaneApplyIPv4SetsRecipe |
unit/verify | unproven |
RFC3768-6.4.3-2
Master: forward packets with a destination link-layer MAC address equal to the virtual router MAC address (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceStartupNonOwnerGoesBackup |
unit/verify | unproven |
| positive | TestInstanceOwnerStartupGoesMaster |
unit/verify | unproven |
RFC3768-6.4.3-3
Master: never accept packets addressed to the virtual router IP address(es) when not the IP address owner (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestActiveV2RouterAcceptsOnlyWhenItOwnsTheAddress |
unit/verify | unproven |
| positive | TestActiveV2RouterAcceptsOnlyWhenItOwnsTheAddress |
unit/verify | unproven |
RFC3768-6.4.3-4
Master: accept packets addressed to the virtual router IP address(es) when the IP address owner (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceStartupNonOwnerGoesBackup |
unit/verify | unproven |
| positive | TestInstanceOwnerStartupGoesMaster |
unit/verify | unproven |
RFC3768-6.4.3-5
Master: on Shutdown, cancel the Adver_Timer, send an ADVERTISEMENT with Priority = 0, and transition to Initialize (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestInstanceShutdownAsMasterSendsPriorityZero |
unit/verify | unproven |
RFC3768-6.4.3-6
Master: when the Adver_Timer fires, send an ADVERTISEMENT and reset the Adver_Timer to Advertisement_Interval (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMStaleTimerGenerationIgnored |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.3-7
Master: on an ADVERTISEMENT with Priority 0, send an ADVERTISEMENT and reset the Adver_Timer to Advertisement_Interval (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.3-8
Master: on an ADVERTISEMENT with higher Priority, or equal Priority and greater sender primary IP address, cancel the Adver_Timer, set the Master_Down_Timer to Master_Down_Interval, and transition to Backup (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-6.4.3-9
Master: on a losing ADVERTISEMENT (lower Priority, or equal Priority with smaller sender address), discard it (§6.4.3)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestFSMTransitionMatrix |
unit/verify | unproven |
| positive | TestFSMTransitionMatrix |
unit/verify | unproven |
RFC3768-7.1-1
Rx: verify the VRRP version is 2 (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestNegativeReferenceBugs |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.1-2
Rx: verify the received packet contains the complete VRRP packet, including fixed fields, IP address(es), and Authentication Data (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestValidationOrder |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.1-3
Rx: verify the VRRP checksum (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestDecodeV2ChecksumCorrupt |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.1-4
Rx: verify the VRID is configured on the receiving interface and the local router is not the IP address owner (Priority = 255) (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestValidationOrder |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.1-5
Rx: verify the Auth Type matches the locally configured authentication method and perform that method (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestNegativeReferenceBugs |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.1-6
Rx: discard the packet if any mandatory receive check fails (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceRxDecodeErrorMapsReason |
unit/verify | unproven |
| positive | TestInstanceRxValidAdvertReachesFSM |
unit/verify | unproven |
RFC3768-7.1-7
Rx: if the optional address-list check fails and the sender is not the address owner (Priority != 255), drop the packet (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestInstanceV2AddressListMismatchDrops |
unit/verify | unproven |
| positive | TestInstanceV2AddressListMatchReachesFSM |
unit/verify | unproven |
RFC3768-7.1-8
Rx: verify the Adver Interval in the packet equals the locally configured value; discard the packet on mismatch (§7.1)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestDecodeV2IntervalMismatchDiscard |
unit/verify | unproven |
| negative | TestValidationOrder |
unit/verify | unproven |
| positive | TestDecodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.2-1
Tx: fill in the VRRP fields from the virtual router configuration state and compute the VRRP checksum (§7.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| positive | TestEncodeGoldenV2 |
unit/verify | unproven |
RFC3768-7.2-2
Tx: set the source MAC address to the virtual router MAC address (§7.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| positive | TestConstants |
unit/verify | unproven |
RFC3768-7.2-3
Tx: set the source IP address to the interface primary IP address (§7.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| positive | TestSendAdvertUsesParentPrimaryV4Source |
unit/verify | unproven |
RFC3768-7.2-4
Tx: set the IP protocol to VRRP (112) and send to the VRRP IP multicast group 224.0.0.18 (§7.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| positive | TestSendAdvertIPv4HeaderTTLProtoDst |
unit/verify | unproven |
RFC3768-8.2-1
Master: never respond to host ARP requests for virtual addresses with the physical MAC address (§8.2)
Audit verdict: not audited: no reader has judged these tests
| Polarity | Test | Kind and tier | Proof state |
|---|---|---|---|
| negative | TestDataplaneRestoreOnLastGroup |
unit/verify | unproven |
| positive | TestDataplaneApplyIPv4SetsRecipe |
unit/verify | unproven |
RFC3768-8.3-1
Advertise the virtual router MAC address in Proxy ARP messages sent on behalf of VRRP-protected addresses (§8.3; lowercase "must" in the RFC)
Audit verdict: not audited: no reader has judged these tests
No test carries RFC3768-8.3-1, so no unit is bound to it.
RFC3768-9.2-1
Token ring: implement the functional-address mode of operation when supporting VRRP on token ring (§9.2)
Audit verdict: not audited: no reader has judged these tests
No test carries RFC3768-9.2-1, so no unit is bound to it.
Extraction sign-off
No extraction sign-off exists for RFC 3768, so no reviewer has walked its text sentence by sentence.
Superseded
RFC 3768 is obsoleted by RFC 9568.
| Requirement | Disposition | Now stated at | Reason |
|---|---|---|---|
RFC3768-5.2.2-1 Never forward a datagram destined to 224.0.0.18, regardless of its TTL (§5.2.2) |
restated | RFC9568-5.1.1.2-1 | RFC 9568 Section 5.1.1.2 keeps the rule for IPv4 and adds the IPv6 counterpart at RFC9568-5.1.2.2-1 for ff02::12 |
RFC3768-5.2.3-1 Set the IP TTL of transmitted VRRP packets to 255 (§5.2.3) |
restated | RFC9568-5.1.1.3-1 | RFC 9568 Section 5.1.1.3 keeps the IPv4 TTL of 255 and adds the IPv6 Hop Limit counterpart at RFC9568-5.1.2.3-1 |
RFC3768-5.2.3-2 Discard received VRRP packets whose TTL is not equal to 255 (§5.2.3, §7.1) |
restated | RFC9568-5.1.1.3-2 | RFC 9568 Section 5.1.1.3 keeps the discard rule for IPv4 and adds the IPv6 Hop Limit counterpart at RFC9568-5.1.2.3-2 |
RFC3768-5.3.2-1 Discard packets with unknown Type; only 1 = ADVERTISEMENT is defined (§5.3.2) |
restated | RFC9568-5.2.2-1 | RFC 9568 Section 5.2.2 keeps ADVERTISEMENT as the only defined type and keeps the discard rule for any other value |
RFC3768-5.3.4-1 Use Priority 255 for the VRRP router that owns the virtual router's IP address(es) (§5.3.4) |
restated | RFC9568-5.2.4-1 | RFC 9568 Section 5.2.4 keeps Priority 255 for the router owning the Virtual Router addresses, over both address families |
RFC3768-5.3.4-2 Use Priority values 1-254 for VRRP routers backing up a virtual router (§5.3.4) |
restated | RFC9568-5.2.4-2 | RFC 9568 Section 5.2.4 keeps the 1 to 254 range for backup routers |
RFC3768-5.3.6-1 Discard packets with unknown Auth Type or an Auth Type that does not match the locally configured authentication method (§5.3.6, §7.1) |
dropped | not stated | VRRPv3 removes authentication. RFC 9568 Section 9 states that VRRP for IPvX does not currently include any type of authentication, and its packet format carries no Auth Type field, so no unknown-or-mismatched Auth Type can be received. The octet that held Auth Type in VRRPv2 is the Reserve field of RFC 9568 Section 5.2.6 |
RFC3768-6.4.2-1 Backup: never respond to ARP requests for the IP address(es) associated with the virtual router (§6.4.2) |
restated | RFC9568-6.4.2-1 | RFC 9568 Section 6.4.2 keeps the rule for IPv4 ARP and adds the IPv6 counterparts, RFC9568-6.4.2-2 for Neighbor Solicitations and RFC9568-6.4.2-3 for Router Advertisements |
RFC3768-6.4.2-2 Backup: discard packets with a destination link-layer MAC address equal to the virtual router MAC address (§6.4.2) |
restated | RFC9568-6.4.2-4 | RFC 9568 Section 6.4.2 keeps the rule that a Backup Router discards packets whose destination link-layer address is the Virtual Router MAC |
RFC3768-6.4.2-3 Backup: never accept packets addressed to the IP address(es) associated with the virtual router (§6.4.2) |
restated | RFC9568-6.4.2-5 | RFC 9568 Section 6.4.2 keeps the rule and states it over both address families |
RFC3768-6.4.2-4 Backup: on Shutdown, cancel the Master_Down_Timer and transition to Initialize (§6.4.2) |
restated | RFC9568-6.4.2-6 | RFC 9568 Section 6.4.2 keeps the Shutdown transition and renames Master_Down_Timer to Active_Down_Timer |
RFC3768-6.4.2-5 Backup: when the Master_Down_Timer fires, send an ADVERTISEMENT, broadcast a gratuitous ARP with the virtual router MAC for each virtual IP address, set the Adver_Timer to Advertisement_Interval, and transition to Master (§6.4.2) |
restated | RFC9568-6.4.2-7 | RFC 9568 Section 6.4.2 keeps the whole timer-expiry sequence, renames the timer to Active_Down_Timer and the state to Active, and adds the IPv6 unsolicited Neighbor Advertisement beside the gratuitous ARP |
RFC3768-6.4.2-6 Backup: on an ADVERTISEMENT with Priority 0, set the Master_Down_Timer to Skew_Time (§6.4.2) |
restated | RFC9568-6.4.2-8 | RFC 9568 Section 6.4.2 keeps the Skew_Time rule for a Priority 0 advertisement |
RFC3768-6.4.2-7 Backup: on a non-zero-priority ADVERTISEMENT, if Preempt_Mode is False or the advertised Priority >= local Priority, reset the Master_Down_Timer to Master_Down_Interval (§6.4.2) |
restated | RFC9568-6.4.2-9 | RFC 9568 Section 6.4.2 keeps the rule and adds one step, that the Backup Router adopts the Max Advertise Interval from the advertisement as Active_Adver_Interval before recomputing the timers |
RFC3768-6.4.2-8 Backup: on a non-zero-priority ADVERTISEMENT with Preempt_Mode True and advertised Priority < local Priority, discard the ADVERTISEMENT (§6.4.2) |
restated | RFC9568-6.4.2-10 | RFC 9568 Section 6.4.2 keeps the discard rule for a lower-priority advertisement under Preempt_Mode |
RFC3768-6.4.3-1 Master: respond to ARP requests for the IP address(es) associated with the virtual router, answering with the virtual MAC address (§6.4.3, §8.2) |
restated | RFC9568-6.4.3-1 | RFC 9568 Section 6.4.3 keeps the ARP obligation for IPv4 and adds the IPv6 Neighbor Discovery counterparts at RFC9568-6.4.3-2, RFC9568-6.4.3-3 and RFC9568-6.4.3-4 |
RFC3768-6.4.3-2 Master: forward packets with a destination link-layer MAC address equal to the virtual router MAC address (§6.4.3) |
restated | RFC9568-6.4.3-5 | RFC 9568 Section 6.4.3 keeps the rule that the Active Router forwards packets whose destination link-layer address is the Virtual Router MAC |
RFC3768-6.4.3-3 Master: never accept packets addressed to the virtual router IP address(es) when not the IP address owner (§6.4.3) |
restated | RFC9568-6.4.3-7 | RFC 9568 Section 6.4.3 keeps the prohibition and narrows it, because VRRPv3 adds Accept_Mode: the Active Router refuses such packets only when it is neither the address owner nor configured with Accept_Mode True |
RFC3768-6.4.3-4 Master: accept packets addressed to the virtual router IP address(es) when the IP address owner (§6.4.3) |
restated | RFC9568-6.4.3-6 | RFC 9568 Section 6.4.3 keeps the owner case and widens it to Accept_Mode True |
RFC3768-6.4.3-5 Master: on Shutdown, cancel the Adver_Timer, send an ADVERTISEMENT with Priority = 0, and transition to Initialize (§6.4.3) |
restated | RFC9568-6.4.3-8 | RFC 9568 Section 6.4.3 keeps the Shutdown sequence unchanged |
RFC3768-6.4.3-6 Master: when the Adver_Timer fires, send an ADVERTISEMENT and reset the Adver_Timer to Advertisement_Interval (§6.4.3) |
restated | RFC9568-6.4.3-9 | RFC 9568 Section 6.4.3 keeps the Adver_Timer expiry behaviour unchanged |
RFC3768-6.4.3-7 Master: on an ADVERTISEMENT with Priority 0, send an ADVERTISEMENT and reset the Adver_Timer to Advertisement_Interval (§6.4.3) |
restated | RFC9568-6.4.3-10 | RFC 9568 Section 6.4.3 keeps the response to a Priority 0 advertisement unchanged |
RFC3768-6.4.3-8 Master: on an ADVERTISEMENT with higher Priority, or equal Priority and greater sender primary IP address, cancel the Adver_Timer, set the Master_Down_Timer to Master_Down_Interval, and transition to Backup (§6.4.3) |
restated | RFC9568-6.4.3-11 | RFC 9568 Section 6.4.3 keeps the rule and states that the sender address comparison is an unsigned integer comparison in network byte order |
RFC3768-6.4.3-9 Master: on a losing ADVERTISEMENT (lower Priority, or equal Priority with smaller sender address), discard it (§6.4.3) |
restated | RFC9568-6.4.3-12 | RFC 9568 Section 6.4.3 keeps the discard and adds one step, that the Active Router immediately sends an advertisement so learning bridges relearn the segment. RFC 9568 Section 1.2 lists that addition as change 5 |
RFC3768-7.1-1 Rx: verify the VRRP version is 2 (§7.1) |
restated | RFC9568-7.1-1 | RFC 9568 Section 7.1 keeps the version check and changes the value it verifies from 2 to 3 |
RFC3768-7.1-2 Rx: verify the received packet contains the complete VRRP packet, including fixed fields, IP address(es), and Authentication Data (§7.1) |
restated | RFC9568-7.1-3 | RFC 9568 Section 7.1 keeps the completeness check over the fixed fields and the address list. The Authentication Data half of the RFC 3768 check is gone with the field |
RFC3768-7.1-3 Rx: verify the VRRP checksum (§7.1) |
restated | RFC9568-5.2.8-1 | RFC 9568 moves the checksum definition to Section 5.2.8 and extends it, because the IPv6 checksum covers a pseudo-header. RFC 9568 Section 1.2 lists that as change 4 |
RFC3768-7.1-4 Rx: verify the VRID is configured on the receiving interface and the local router is not the IP address owner (Priority = 255) (§7.1) |
restated | RFC9568-7.1-4 | RFC 9568 Section 7.1 keeps both halves of the check, that the VRID is configured on the receiving interface and that the local router is not the address owner |
RFC3768-7.1-5 Rx: verify the Auth Type matches the locally configured authentication method and perform that method (§7.1) |
dropped | not stated | VRRPv3 removes authentication. RFC 9568 Section 7.1 lists no Auth Type check, its packet format carries no Auth Type field, and its Section 9 states that VRRP for IPvX does not currently include any type of authentication |
RFC3768-7.1-6 Rx: discard the packet if any mandatory receive check fails (§7.1) |
restated | RFC9568-7.1-6 | RFC 9568 Section 7.1 keeps the discard on a failed mandatory check, and keeps the SHOULD log and MAY network-management indication beside it |
RFC3768-7.1-7 Rx: if the optional address-list check fails and the sender is not the address owner (Priority != 255), drop the packet (§7.1) |
dropped | not stated | RFC 9568 Section 7.1 removes the drop. The address-list check is a MAY at RFC9568-7.1-11, and on failure the receiver only SHOULD log the event and MAY indicate a misconfiguration. No sender-priority condition and no packet drop remain |
RFC3768-7.1-8 Rx: verify the Adver Interval in the packet equals the locally configured value; discard the packet on mismatch (§7.1) |
restated | RFC9568-7.1-8 | RFC 9568 Section 7.1 lowers the check from MUST to SHOULD and removes the drop, stating that the mismatch will not result in the VRRP packet being dropped. RFC 9568 Section 1.2 lists that as change 8. The field is also renamed and rescaled, from Adver Int in seconds to Max Advertise Interval in centiseconds |
RFC3768-7.2-1 Tx: fill in the VRRP fields from the virtual router configuration state and compute the VRRP checksum (§7.2) |
restated | RFC9568-7.2-1 | RFC 9568 Section 7.2 keeps the fill-and-checksum step unchanged |
RFC3768-7.2-2 Tx: set the source MAC address to the virtual router MAC address (§7.2) |
restated | RFC9568-7.2-2 | RFC 9568 Section 7.2 keeps the Virtual Router MAC as the source link-layer address |
RFC3768-7.2-3 Tx: set the source IP address to the interface primary IP address (§7.2) |
restated | RFC9568-7.2-3 | RFC 9568 Section 7.2 keeps the interface primary IPv4 address and adds the IPv6 case, where the source is the interface link-local address |
RFC3768-7.2-4 Tx: set the IP protocol to VRRP (112) and send to the VRRP IP multicast group 224.0.0.18 (§7.2) |
restated | RFC9568-7.2-4 | RFC 9568 Section 7.2 keeps IP protocol 112 and adds the IPv6 destination group ff02::12 beside 224.0.0.18 |
RFC3768-8.2-1 Master: never respond to host ARP requests for virtual addresses with the physical MAC address (§8.2) |
restated | RFC9568-8.1.2-1 | RFC 9568 Section 8.1.2 keeps the prohibition for IPv4 ARP and adds the IPv6 Neighbor Discovery counterpart at RFC9568-8.2.2-1 |
RFC3768-8.3-1 Advertise the virtual router MAC address in Proxy ARP messages sent on behalf of VRRP-protected addresses (§8.3; lowercase "must" in the RFC) |
restated | RFC9568-8.1.3-1 | RFC 9568 Section 8.1.3 keeps the Proxy ARP obligation and states it with an uppercase MUST |
RFC3768-9.2-1 Token ring: implement the functional-address mode of operation when supporting VRRP on token ring (§9.2) |
dropped | not stated | RFC 9568 removes token ring. Its Section 1.2 lists as change 6 that the appendices describing operation over legacy technologies, FDDI, Token Ring and ATM LAN Emulation, were removed, so RFC 9568 states no functional-address obligation |
RFC3768-5.3.10-1 Set Authentication Data to zero on transmission and ignore it on reception (§5.3.10) |
dropped | not stated | VRRPv3 removes the Authentication Data field, so no obligation about its value remains. RFC 9568 Section 5.2.6 states the same zero-on-transmission and ignore-on-reception rule for its Reserve field at RFC9568-5.2.6-1, which is a different field: it occupies the octet VRRPv2 used for Auth Type |
RFC3768-7.1-9 Log the event when a mandatory receive check fails (§7.1) |
restated | RFC9568-7.1-7 | RFC 9568 Section 7.1 keeps the log on a failed mandatory check and adds rate-limiting to it |
RFC3768-7.1-10 Log the event on an address-list mismatch (§7.1) |
restated | RFC9568-7.1-9 | RFC 9568 Section 7.1 keeps the log on an address-list mismatch, adds rate-limiting, and states it in one sentence covering the Max Advertise Interval mismatch as well |
RFC3768-7.1-11 Log the event on an Adver Interval mismatch (§7.1) |
restated | RFC9568-7.1-9 | RFC 9568 Section 7.1 merges this log with the address-list one into a single rate-limited recommendation, and renames the field to Max Advertise Interval |
RFC3768-8.2-2 After restart/boot, never send ARP messages with the physical MAC address for owned virtual IP addresses (§8.2) |
restated | RFC9568-8.1.2-3 | RFC 9568 Section 8.1.2 keeps the rule for IPv4 ARP and adds the IPv6 Neighbor Discovery counterpart at RFC9568-8.2.2-5 |
RFC3768-8.2-3 Broadcast a gratuitous ARP with the virtual router MAC for each IP address when configuring an interface, and delay ARP at boot until both the IP address and virtual MAC are configured (§8.2) |
restated | RFC9568-8.1.2-4 | RFC 9568 Section 8.1.2 splits the sentence in two and raises one half. The gratuitous ARP on interface configuration stays a SHOULD at RFC9568-8.1.2-4, and the boot delay until both the address and the Virtual Router MAC are configured becomes a MUST at RFC9568-8.1.2-2 |
RFC3768-8.4-1 Never forward packets addressed to IP addresses adopted as Master when not the owner (§8.4) |
restated | RFC9568-8.3.1-1 | RFC 9568 Section 8.3.1 keeps the rule and states it over both address families |
RFC3768-9.1-1 FDDI: configure the virtual router MAC via a unicast MAC filter rather than changing the hardware MAC address (§9.1) |
dropped | not stated | RFC 9568 removes FDDI. Its Section 1.2 lists as change 6 that the appendices describing operation over legacy technologies, FDDI, Token Ring and ATM LAN Emulation, were removed, so RFC 9568 states no unicast-MAC-filter recommendation |
RFC3768-7.1-12 Indicate via network management that a receive error or misconfiguration occurred (§7.1) |
restated | RFC9568-7.1-10 | RFC 9568 Section 7.1 keeps the network-management indication as a MAY |
RFC3768-7.1-13 Verify that Count IP Addrs and the address list match the IP_Addresses configured for the VRID (§7.1) |
restated | RFC9568-7.1-11 | RFC 9568 Section 7.1 keeps the address-list check as a MAY and renames the field to IPvX Addr Count |
RFC3768-9.2-2 Token ring: support the unicast mode of operation in addition to functional addresses (§9.2) |
dropped | not stated | RFC 9568 removes token ring. Its Section 1.2 lists as change 6 that the appendices describing operation over legacy technologies, FDDI, Token Ring and ATM LAN Emulation, were removed, so RFC 9568 states no unicast-mode permission |