From 662129afba2d344d692a9dbfd430c91eff4f281d Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Tue, 6 Sep 2016 13:30:30 +1000 Subject: discover: Avoid writing network overrides to NVRAM Explicitly keep track of whether the current interface config was set by an IPMI network override, and avoid overwriting any saved config unless the override was marked persistent. Signed-off-by: Samuel Mendoza-Jonas --- lib/pb-protocol/pb-protocol.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/pb-protocol') diff --git a/lib/pb-protocol/pb-protocol.c b/lib/pb-protocol/pb-protocol.c index 1560ef7..706aec9 100644 --- a/lib/pb-protocol/pb-protocol.c +++ b/lib/pb-protocol/pb-protocol.c @@ -283,6 +283,8 @@ static int pb_protocol_interface_config_len(struct interface_config *conf) len += 4 + optional_strlen(conf->static_config.url); } + len += 4 /* conf->override */; + return len; } @@ -511,6 +513,9 @@ static int pb_protocol_serialise_config_interface(char *buf, conf->static_config.url); } + *(uint32_t *)pos = conf->override; + pos += 4; + return pos - buf; } @@ -1019,6 +1024,10 @@ static int pb_protocol_deserialise_config_interface(const char **buf, return -1; } + if (read_u32(buf, len, &tmp)) + return -1; + iface->override = !!tmp; + return 0; } -- cgit v1.2.1