kni: update link only on change
'rte_kni_update_link()' updates virtual KNI interface link using kernel sysfs interface. If the requested link status is same as interface link status, do not update the link status but return with success. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
cd27047dbe
commit
b67f598e23
@ -811,6 +811,9 @@ rte_kni_update_link(struct rte_kni *kni, unsigned int linkup)
|
||||
}
|
||||
old_linkup = (old_carrier[0] == '1');
|
||||
|
||||
if (old_linkup == (int)linkup)
|
||||
goto out;
|
||||
|
||||
new_carrier = linkup ? "1" : "0";
|
||||
ret = write(fd, new_carrier, 1);
|
||||
if (ret < 1) {
|
||||
@ -818,7 +821,7 @@ rte_kni_update_link(struct rte_kni *kni, unsigned int linkup)
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
out:
|
||||
close(fd);
|
||||
return old_linkup;
|
||||
}
|
||||
|
@ -19,5 +19,6 @@ DPDK_21 {
|
||||
EXPERIMENTAL {
|
||||
global:
|
||||
|
||||
# updated in v21.08
|
||||
rte_kni_update_link;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user