summaryrefslogtreecommitdiff
path: root/vrrpd/vrrp.h
diff options
context:
space:
mode:
authorSiger Yang <siger.yang@outlook.com>2022-11-25 13:52:46 +0800
committerSiger Yang <siger.yang@outlook.com>2022-11-25 16:21:59 +0800
commit9f2379bdd2d832370588d3ace1dde591b68cdcaf (patch)
tree5a2b4f695191d5c699094e5804abd9def438c5a5 /vrrpd/vrrp.h
parent89f74214e7d109f7ff48c9666dab65b741636a09 (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.h10
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;
};