summaryrefslogtreecommitdiff
path: root/lib/tun-metadata.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tun-metadata.c')
-rw-r--r--lib/tun-metadata.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/tun-metadata.c b/lib/tun-metadata.c
index c0d9180e0..f8a0e1952 100644
--- a/lib/tun-metadata.c
+++ b/lib/tun-metadata.c
@@ -924,3 +924,20 @@ tun_metadata_match_format(struct ds *s, const struct match *match)
ds_put_char(s, ',');
}
}
+
+struct tun_metadata_allocation *
+tun_metadata_allocation_clone(const struct tun_metadata_allocation *src)
+{
+ return src && src->valid ? xmemdup(src, sizeof *src) : NULL;
+}
+
+void
+tun_metadata_allocation_copy(struct tun_metadata_allocation *dst,
+ const struct tun_metadata_allocation *src)
+{
+ if (src && src->valid) {
+ *dst = *src;
+ } else {
+ memset(dst, 0, sizeof *dst);
+ }
+}