diff options
author | Jef Oliver <jef.oliver@intel.com> | 2016-11-07 13:33:58 -0800 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-11-24 13:27:39 +0100 |
commit | 54d5f1a1b4218498bc7a985142753fe17c3c97cf (patch) | |
tree | 795988b69d114aaba22d22ddc02b4e1d21ddef12 /include | |
parent | 5b10c4598fb9bf0211e1777920c773e4bd1ed596 (diff) | |
download | libnl-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.h | 1 | ||||
-rw-r--r-- | include/netlink/route/link/sriov.h | 25 |
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 |