mirror of
https://github.com/openvswitch/ovs
synced 2025-10-29 15:28:56 +00:00
dpif: Add dpif_port_get_name call
Add ability to lookup a device name by its dpif port number.
This commit is contained in:
22
lib/dpif.c
22
lib/dpif.c
@@ -352,6 +352,28 @@ dpif_port_query_by_name(const struct dpif *dpif, const char *devname,
|
||||
}
|
||||
}
|
||||
|
||||
/* Looks up port number 'port_no' in 'dpif'. On success, returns 0 and copies
|
||||
* the port's name into the 'name_size' bytes in 'name', ensuring that the
|
||||
* result is null-terminated. On failure, returns a positive errno value and
|
||||
* makes 'name' the empty string. */
|
||||
int
|
||||
dpif_port_get_name(struct dpif *dpif, uint16_t port_no,
|
||||
char *name, size_t name_size)
|
||||
{
|
||||
struct odp_port port;
|
||||
int error;
|
||||
|
||||
assert(name_size > 0);
|
||||
|
||||
error = dpif_port_query_by_number(dpif, port_no, &port);
|
||||
if (!error) {
|
||||
ovs_strlcpy(name, port.devname, name_size);
|
||||
} else {
|
||||
*name = '\0';
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
int
|
||||
dpif_port_list(const struct dpif *dpif,
|
||||
struct odp_port **ports, size_t *n_ports)
|
||||
|
||||
@@ -62,6 +62,8 @@ int dpif_port_query_by_number(const struct dpif *, uint16_t port_no,
|
||||
struct odp_port *);
|
||||
int dpif_port_query_by_name(const struct dpif *, const char *devname,
|
||||
struct odp_port *);
|
||||
int dpif_port_get_name(struct dpif *dpif, uint16_t port_no,
|
||||
char *name, size_t name_size);
|
||||
int dpif_port_list(const struct dpif *, struct odp_port **, size_t *n_ports);
|
||||
|
||||
int dpif_port_group_set(struct dpif *, uint16_t group,
|
||||
|
||||
Reference in New Issue
Block a user