aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShuotian Cheng <stcheng_89@hotmail.com>2017-04-10 22:54:35 +0000
committerJiri Pirko <jiri@mellanox.com>2017-04-11 08:40:23 +0200
commitee01c00ecaac7e41a9b06dc917f2c1aac9b853e4 (patch)
tree12186104f9dc3350793d41fbfb51c72c5a7e5b18
parente91c31e4aa379cc269dc654c3193e78ee9ac10db (diff)
downloadlibteam-ee01c00ecaac7e41a9b06dc917f2c1aac9b853e4.tar.gz
libteam: Add team_get_port_enabled function
This function corresponds to team_set_port_enabled. With this function, it is able to get the enabled state for port identified by port_ifindex. Signed-off-by: Shuotian Cheng <stcheng_89@hotmail.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
-rw-r--r--include/team.h2
-rw-r--r--libteam/libteam.c22
2 files changed, 24 insertions, 0 deletions
diff --git a/include/team.h b/include/team.h
index 20ebcf6..9ae517d 100644
--- a/include/team.h
+++ b/include/team.h
@@ -68,6 +68,8 @@ int team_get_bpf_hash_func(struct team_handle *th, struct sock_fprog *fp);
int team_set_bpf_hash_func(struct team_handle *th, const struct sock_fprog *fp);
int team_set_port_enabled(struct team_handle *th,
uint32_t port_ifindex, bool val);
+int team_get_port_enabled(struct team_handle *th,
+ uint32_t port_ifindex, bool *enabled);
int team_set_port_user_linkup_enabled(struct team_handle *th,
uint32_t port_ifindex, bool val);
int team_get_port_user_linkup(struct team_handle *th,
diff --git a/libteam/libteam.c b/libteam/libteam.c
index d5f22cd..77a06dd 100644
--- a/libteam/libteam.c
+++ b/libteam/libteam.c
@@ -1341,6 +1341,28 @@ int team_set_port_enabled(struct team_handle *th,
/**
* @param th libteam library context
* @param port_ifindex port interface index
+ * @param enabled where the enabled state will be stored
+ *
+ * @details Gets enabled state for port identified by port_ifindex
+ *
+ * @return Zero on success or negative number in case of an error.
+ **/
+TEAM_EXPORT
+int team_get_port_enabled(struct team_handle *th,
+ uint32_t port_ifindex, bool *enabled)
+{
+ struct team_option *option;
+
+ option = team_get_option(th, "np", "enabled", port_ifindex);
+ if (!option)
+ return -ENOENT;
+ *enabled = team_get_option_value_bool(option);
+ return 0;
+}
+
+/**
+ * @param th libteam library context
+ * @param port_ifindex port interface index
* @param val boolean value
*
* @details Enables or disable user linkup for port identified by port_ifindex