diff options
| author | Siger Yang <siger.yang@outlook.com> | 2022-11-25 13:52:46 +0800 |
|---|---|---|
| committer | Siger Yang <siger.yang@outlook.com> | 2022-11-25 16:21:59 +0800 |
| commit | 9f2379bdd2d832370588d3ace1dde591b68cdcaf (patch) | |
| tree | 5a2b4f695191d5c699094e5804abd9def438c5a5 /vrrpd/vrrp.h | |
| parent | 89f74214e7d109f7ff48c9666dab65b741636a09 (diff) | |
vrrpd: add IPv4 pseudoheader option for VRRPv3
This commit adds a new option to control whether a VRRPv3 group
accepts / computes its checksum with a prepended IPv4 pseudoheader.
This should improve interoperability with other devices.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Diffstat (limited to 'vrrpd/vrrp.h')
| -rw-r--r-- | vrrpd/vrrp.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vrrpd/vrrp.h b/vrrpd/vrrp.h index c181c2159b..b3141ef318 100644 --- a/vrrpd/vrrp.h +++ b/vrrpd/vrrp.h @@ -53,6 +53,7 @@ #define VRRP_DEFAULT_ADVINT 100 #define VRRP_DEFAULT_PREEMPT true #define VRRP_DEFAULT_ACCEPT true +#define VRRP_DEFAULT_CHECKSUM_WITH_IPV4_PSEUDOHEADER true #define VRRP_DEFAULT_SHUTDOWN false /* User compatibility constant */ @@ -70,6 +71,7 @@ struct vrrp_defaults { uint16_t advertisement_interval; bool preempt_mode; bool accept_mode; + bool checksum_with_ipv4_pseudoheader; bool shutdown; }; @@ -266,6 +268,14 @@ struct vrrp_vrouter { */ bool accept_mode; + /* + * Indicates whether this router computes and accepts VRRPv3 checksums + * without pseudoheader, for device interoperability. + * + * This option should only affect IPv4 virtual routers. + */ + bool checksum_with_ipv4_pseudoheader; + struct vrrp_router *v4; struct vrrp_router *v6; }; |
