Commit 53241e2b authored by Tycho Andersen's avatar Tycho Andersen Committed by Pavel Emelyanov

external: add a new "data" option to external

We'll use this in the next patch to find the ifindex for a macvlan bridge
in the host's net ns.

travis-ci: success for series starting with [v10,01/11] net: pass the struct nlattrs to dump() functions
Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent d3f3d50d
......@@ -27,6 +27,21 @@ bool external_lookup_id(char *id)
return false;
}
void *external_lookup_data(char *key)
{
struct external *ext;
int len = strlen(key);
list_for_each_entry(ext, &opts.external, node) {
if (strncmp(ext->id, key, len))
continue;
return ext->data;
}
return ERR_PTR(-ENOENT);
}
char *external_lookup_by_key(char *key)
{
struct external *ext;
......
......@@ -3,11 +3,13 @@
struct external {
struct list_head node;
char *id;
void *data;
};
extern int add_external(char *key);
extern bool external_lookup_id(char *id);
extern char *external_lookup_by_key(char *id);
extern void *external_lookup_data(char *id);
extern int external_for_each_type(char *type, int (*cb)(struct external *, void *), void *arg);
static inline char *external_val(struct external *e)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment