From d56a7fb0ac788bf75089be583d6982242e3480ef Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roni=20H=C3=A4cki?= Date: Mon, 18 Sep 2017 16:00:53 +0200 Subject: [PATCH] libnet: avoid failing setting up filter with e1000 like cardnames MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit e1000 cardname was of the form e1000:vendor:bus:device:function .. where other cardnames were simply in the form of the name itself. Signed-off-by: Roni Häcki --- lib/net/net_filter.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/lib/net/net_filter.c b/lib/net/net_filter.c index 34dde6d..1ed167b 100644 --- a/lib/net/net_filter.c +++ b/lib/net/net_filter.c @@ -148,7 +148,20 @@ errval_t net_filter_init(struct net_filter_state** st, tmp->filters_mac.start = NULL; tmp->filters_mac.num_ele = 0; - err = connect_to_net_filter(tmp, cardname); + // cardname are of the form name:vendor:device:bus:function .. + int end = 0; + for (; end < strlen(cardname); end++) { + if (cardname[end] == ':') { + break; + } + } + + char name[64]; + strncpy(name, cardname, end); + name[end] = '\0'; + + printf("cardname %s \n", name); + err = connect_to_net_filter(tmp, name); *st = tmp; return err; } -- 1.7.2.5