summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChirag Shah <chirag@cumulusnetworks.com>2020-01-30 11:42:58 -0800
committerSantosh P K <sapk@vmware.com>2020-04-16 08:13:15 -0700
commitdd9ef518bf1b82b5512d10751ebdcefa6d51b9ec (patch)
treee12d52817dcc6c3cd0d0a357afd2084baf758f2d
parentce45ffe73bfc42ec27da5ddbccf4a16b4c6f41f0 (diff)
lib:api to convert mac to yang object
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
-rw-r--r--lib/yang_wrappers.c14
-rw-r--r--lib/yang_wrappers.h5
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/yang_wrappers.c b/lib/yang_wrappers.c
index 2b502d635b..21acd2c1f4 100644
--- a/lib/yang_wrappers.c
+++ b/lib/yang_wrappers.c
@@ -1114,3 +1114,17 @@ void yang_get_default_ip(struct ipaddr *var, const char *xpath_fmt, ...)
value = yang_get_default_value(xpath);
yang_str2ip(value, var);
}
+
+struct yang_data *yang_data_new_mac(const char *xpath,
+ const struct ethaddr *mac)
+{
+ char value_str[ETHER_ADDR_STRLEN];
+
+ prefix_mac2str(mac, value_str, sizeof(value_str));
+ return yang_data_new(xpath, value_str);
+}
+
+void yang_str2mac(const char *value, struct ethaddr *mac)
+{
+ (void)prefix_str2mac(value, mac);
+}
diff --git a/lib/yang_wrappers.h b/lib/yang_wrappers.h
index 10d1ea314f..31d40a519d 100644
--- a/lib/yang_wrappers.h
+++ b/lib/yang_wrappers.h
@@ -172,4 +172,9 @@ extern void yang_dnode_get_ip(struct ipaddr *addr, const struct lyd_node *dnode,
const char *xpath_fmt, ...);
extern void yang_get_default_ip(struct ipaddr *var, const char *xpath_fmt, ...);
+/* mac */
+extern struct yang_data *yang_data_new_mac(const char *xpath,
+ const struct ethaddr *mac);
+extern void yang_str2mac(const char *value, struct ethaddr *mac);
+
#endif /* _FRR_NORTHBOUND_WRAPPERS_H_ */