FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.21k stars 1.24k forks source link

[IPv4] VRRP v3 - rfc5798bis and checksum calculation #14024

Open nser77 opened 1 year ago

nser77 commented 1 year ago

Hi all, just want you to know that IETF RTGWG has just last called draft-ietf-rtgwg-vrrp-rfc5798bis; IETF RTGWG also says that upon draft-ietf-rtgwg-vrrp-rfc5798bis becoming RFC it will obsolete RFC5798.

Other C VRRP implementations for Linux were also affected by this draft and the calculation of the checksum for a VRRP version 3 IPv4 packet and the default interoperability with other vendors.

Seems you too, reference: #12390.

RFC5798bis clarify what is included and that it does not include the pseudo-header, and as per default behavior the checksum calculation for VRRP 3 IPv4 packet does not include the pseudo header; this results in FRR (an others) not compliant with VRRP 3 standard by default.

I'm not sure how you want to thread this issue and if RFC5798bis will be approved as it is, you might want to do the following, but it seems to be a breakpoint with older versions of FRR:

  1. Change the default behavior to false: https://github.com/FRRouting/frr/blob/7b52fccc622b9ddb987a935b8df762f1e78e8ed6/vrrpd/vrrp.h#L43C58-L43C58
  2. Maintain the option checksum-with-ipv4-pseudoheader for backward compatibility (default is false).
  3. Fix your documentantion.

Please note that RFC5798bis also has further clarification, still reviewing the draft..

Finally, thanks to the IETF RTGWG and the SONiC community for the input.

Regards

qlyoung commented 1 year ago

Thank you for the advisory, this was indeed ambiguous when VRRP was implemented.

github-actions[bot] commented 8 months ago

This issue is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this issue closed.

frrbot[bot] commented 8 months ago

This issue will be automatically closed in the specified period unless there is further activity.