Since the area between 'struct proto_config c' and 'char *password' in 'struct bgp_config' is compared using memcmp() in bgp_reconfigure(), move ->check_link and ->bfd so that they are part of that area. Also add a note to 'struct bgp_config' to avoid this tripping up people in the future. --- proto/bgp/bgp.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h index 0b8cb46..0b69333 100644 --- a/proto/bgp/bgp.h +++ b/proto/bgp/bgp.h @@ -19,6 +19,8 @@ struct eattr; struct bgp_config { struct proto_config c; + + /* start of config vars compared using memcmp() in bgp_reconfigure() */ u32 local_as, remote_as, remote_as2; ip_addr remote_ip; ip_addr source_addr; /* Source address to use */ @@ -62,11 +64,12 @@ struct bgp_config { unsigned error_delay_time_min; /* Time to wait after an error is detected */ unsigned error_delay_time_max; unsigned disable_after_error; /* Disable the protocol when error is detected */ + int check_link; /* Use iface link state for liveness detection */ + int bfd; /* Use BFD for liveness detection */ + /* end of config vars compared using memcmp() in bgp_reconfigure() */ char *password; /* Password used for MD5 authentication */ struct rtable_config *igp_table; /* Table used for recursive next hop lookups */ - int check_link; /* Use iface link state for liveness detection */ - int bfd; /* Use BFD for liveness detection */ }; #define MLL_SELF 1 -- 2.9.3