summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJef Oliver <jef.oliver@intel.com>2016-11-07 13:33:58 -0800
committerThomas Haller <thaller@redhat.com>2016-11-24 13:27:39 +0100
commit54d5f1a1b4218498bc7a985142753fe17c3c97cf (patch)
tree795988b69d114aaba22d22ddc02b4e1d21ddef12 /include
parent5b10c4598fb9bf0211e1777920c773e4bd1ed596 (diff)
downloadlibnl-54d5f1a1b4218498bc7a985142753fe17c3c97cf.tar.gz
lib/route: SRIOV Set Functionality
* This patch adds functionality to set attributes on an SRIOV VF object. * This patch adds functionality to append attributes to the link change request sent to the kernel. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/netlink-private/route/link/sriov.h1
-rw-r--r--include/netlink/route/link/sriov.h25
2 files changed, 26 insertions, 0 deletions
diff --git a/include/netlink-private/route/link/sriov.h b/include/netlink-private/route/link/sriov.h
index dccee1e9..ac653ed1 100644
--- a/include/netlink-private/route/link/sriov.h
+++ b/include/netlink-private/route/link/sriov.h
@@ -23,6 +23,7 @@ extern "C" {
extern int rtnl_link_sriov_clone(struct rtnl_link *, struct rtnl_link *);
extern void rtnl_link_sriov_dump_details(struct rtnl_link *, struct nl_dump_params *);
extern void rtnl_link_sriov_dump_stats(struct rtnl_link *, struct nl_dump_params *);
+extern int rtnl_link_sriov_fill_vflist(struct nl_msg *, struct rtnl_link *);
extern void rtnl_link_sriov_free_data(struct rtnl_link *);
extern int rtnl_link_sriov_parse_vflist(struct rtnl_link *, struct nlattr **);
diff --git a/include/netlink/route/link/sriov.h b/include/netlink/route/link/sriov.h
index 8289b800..c6963a8e 100644
--- a/include/netlink/route/link/sriov.h
+++ b/include/netlink/route/link/sriov.h
@@ -20,6 +20,8 @@
extern "C" {
#endif
+#define RTNL_VF_GUID_STR_LEN 23
+
/**
* @ingroup sriov
*/
@@ -87,20 +89,41 @@ struct nl_vf_rate {
uint32_t min_tx_rate; /*!< New API Mix Rate in Mbps */
};
+extern int rtnl_link_vf_add(struct rtnl_link *, struct rtnl_link_vf *);
extern struct rtnl_link_vf *rtnl_link_vf_alloc(void);
extern void rtnl_link_vf_free(struct rtnl_link_vf *);
extern struct rtnl_link_vf *rtnl_link_vf_get(struct rtnl_link *, uint32_t);
extern void rtnl_link_vf_put(struct rtnl_link_vf *);
+
extern int rtnl_link_vf_get_addr(struct rtnl_link_vf *, struct nl_addr **);
+extern void rtnl_link_vf_set_addr(struct rtnl_link_vf *, struct nl_addr *);
+
+extern void rtnl_link_vf_set_ib_node_guid(struct rtnl_link_vf *, uint64_t);
+extern void rtnl_link_vf_set_ib_port_guid(struct rtnl_link_vf *, uint64_t);
+
extern int rtnl_link_vf_get_index(struct rtnl_link_vf *, uint32_t *);
+extern void rtnl_link_vf_set_index(struct rtnl_link_vf *, uint32_t);
+
extern int rtnl_link_vf_get_linkstate(struct rtnl_link_vf *, uint32_t *);
+extern void rtnl_link_vf_set_linkstate(struct rtnl_link_vf *, uint32_t);
+
extern int rtnl_link_vf_get_rate(struct rtnl_link_vf *, struct nl_vf_rate *);
+extern void rtnl_link_vf_set_rate(struct rtnl_link_vf *, struct nl_vf_rate *);
+
extern int rtnl_link_vf_get_rss_query_en(struct rtnl_link_vf *, uint32_t *);
+extern void rtnl_link_vf_set_rss_query_en(struct rtnl_link_vf *, uint32_t);
+
extern int rtnl_link_vf_get_spoofchk(struct rtnl_link_vf *, uint32_t *);
+extern void rtnl_link_vf_set_spoofchk(struct rtnl_link_vf *, uint32_t);
+
extern int rtnl_link_vf_get_stat(struct rtnl_link_vf *, rtnl_link_vf_stats_t,
uint64_t *);
+
extern int rtnl_link_vf_get_trust(struct rtnl_link_vf *, uint32_t *);
+extern void rtnl_link_vf_set_trust(struct rtnl_link_vf *, uint32_t);
+
extern int rtnl_link_vf_get_vlans(struct rtnl_link_vf *, nl_vf_vlans_t **);
+extern void rtnl_link_vf_set_vlans(struct rtnl_link_vf *, nl_vf_vlans_t *);
extern int rtnl_link_vf_vlan_alloc(nl_vf_vlans_t **, int);
extern void rtnl_link_vf_vlan_put(nl_vf_vlans_t *);
@@ -112,6 +135,8 @@ extern int rtnl_link_vf_str2linkstate(const char *);
extern char *rtnl_link_vf_vlanproto2str(uint16_t, char *, size_t);
extern int rtnl_link_vf_str2vlanproto(const char *);
+extern int rtnl_link_vf_str2guid(uint64_t *, const char *);
+
#ifdef __cplusplus
}
#endif