mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 14:25:26 +00:00
lib: New data structure - smap.
A smap is a string to string hash map. It has a cleaner interface than shash's which were traditionally used for the same purpose. This patch implements the data structure, and changes netdev and its providers to use it. Signed-off-by: Ethan Jackson <ethan@nicira.com>
This commit is contained in:
18
lib/netdev.h
18
lib/netdev.h
@@ -35,7 +35,7 @@ extern "C" {
|
||||
struct ofpbuf;
|
||||
struct in_addr;
|
||||
struct in6_addr;
|
||||
struct shash;
|
||||
struct smap;
|
||||
struct sset;
|
||||
|
||||
enum netdev_flags {
|
||||
@@ -93,8 +93,8 @@ bool netdev_is_open(const char *name);
|
||||
void netdev_parse_name(const char *netdev_name, char **name, char **type);
|
||||
|
||||
/* Options. */
|
||||
int netdev_set_config(struct netdev *, const struct shash *args);
|
||||
int netdev_get_config(const struct netdev *, struct shash *);
|
||||
int netdev_set_config(struct netdev *, const struct smap *args);
|
||||
int netdev_get_config(const struct netdev *, struct smap *);
|
||||
|
||||
/* Basic properties. */
|
||||
const char *netdev_get_name(const struct netdev *);
|
||||
@@ -159,7 +159,7 @@ int netdev_get_in6(const struct netdev *, struct in6_addr *);
|
||||
int netdev_add_router(struct netdev *, struct in_addr router);
|
||||
int netdev_get_next_hop(const struct netdev *, const struct in_addr *host,
|
||||
struct in_addr *next_hop, char **);
|
||||
int netdev_get_drv_info(const struct netdev *, struct shash *sh);
|
||||
int netdev_get_drv_info(const struct netdev *, struct smap *);
|
||||
int netdev_arp_lookup(const struct netdev *, ovs_be32 ip, uint8_t mac[6]);
|
||||
|
||||
int netdev_get_flags(const struct netdev *, enum netdev_flags *);
|
||||
@@ -195,20 +195,20 @@ int netdev_get_n_queues(const struct netdev *,
|
||||
const char *type, unsigned int *n_queuesp);
|
||||
|
||||
int netdev_get_qos(const struct netdev *,
|
||||
const char **typep, struct shash *details);
|
||||
const char **typep, struct smap *details);
|
||||
int netdev_set_qos(struct netdev *,
|
||||
const char *type, const struct shash *details);
|
||||
const char *type, const struct smap *details);
|
||||
|
||||
int netdev_get_queue(const struct netdev *,
|
||||
unsigned int queue_id, struct shash *details);
|
||||
unsigned int queue_id, struct smap *details);
|
||||
int netdev_set_queue(struct netdev *,
|
||||
unsigned int queue_id, const struct shash *details);
|
||||
unsigned int queue_id, const struct smap *details);
|
||||
int netdev_delete_queue(struct netdev *, unsigned int queue_id);
|
||||
int netdev_get_queue_stats(const struct netdev *, unsigned int queue_id,
|
||||
struct netdev_queue_stats *);
|
||||
|
||||
typedef void netdev_dump_queues_cb(unsigned int queue_id,
|
||||
const struct shash *details, void *aux);
|
||||
const struct smap *details, void *aux);
|
||||
int netdev_dump_queues(const struct netdev *,
|
||||
netdev_dump_queues_cb *, void *aux);
|
||||
|
||||
|
Reference in New Issue
Block a user