summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pb-config/pb-config.c1
-rw-r--r--lib/pb-protocol/pb-protocol.c9
-rw-r--r--lib/types/types.h1
3 files changed, 11 insertions, 0 deletions
diff --git a/lib/pb-config/pb-config.c b/lib/pb-config/pb-config.c
index 52a43b1..581d70f 100644
--- a/lib/pb-config/pb-config.c
+++ b/lib/pb-config/pb-config.c
@@ -33,6 +33,7 @@ static struct interface_config *config_copy_interface(struct config *ctx,
talloc_strdup(dest, src->static_config.url);
break;
}
+ dest->override = src->override;
return dest;
}
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;
}
diff --git a/lib/types/types.h b/lib/types/types.h
index 6b607cd..7b9269b 100644
--- a/lib/types/types.h
+++ b/lib/types/types.h
@@ -129,6 +129,7 @@ struct interface_config {
char *url;
} static_config;
};
+ bool override;
};
struct network_config {
OpenPOWER on IntegriCloud