From dd9ef518bf1b82b5512d10751ebdcefa6d51b9ec Mon Sep 17 00:00:00 2001 From: Chirag Shah Date: Thu, 30 Jan 2020 11:42:58 -0800 Subject: [PATCH] lib:api to convert mac to yang object Signed-off-by: Chirag Shah --- lib/yang_wrappers.c | 14 ++++++++++++++ lib/yang_wrappers.h | 5 +++++ 2 files changed, 19 insertions(+) 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_ */ -- 2.39.5