git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ofproto: Fix potential leak during flow mods.
[sliver-openvswitch.git]
/
lib
/
netdev-dpdk.c
diff --git
a/lib/netdev-dpdk.c
b/lib/netdev-dpdk.c
index
3e47c5b
..
fd991ab
100644
(file)
--- a/
lib/netdev-dpdk.c
+++ b/
lib/netdev-dpdk.c
@@
-133,8
+133,6
@@
static struct list dpdk_list OVS_GUARDED_BY(dpdk_mutex)
static struct list dpdk_mp_list OVS_GUARDED_BY(dpdk_mutex)
= LIST_INITIALIZER(&dpdk_mp_list);
static struct list dpdk_mp_list OVS_GUARDED_BY(dpdk_mutex)
= LIST_INITIALIZER(&dpdk_mp_list);
-static pthread_t watchdog_thread;
-
struct dpdk_mp {
struct rte_mempool *mp;
int mtu;
struct dpdk_mp {
struct rte_mempool *mp;
int mtu;
@@
-716,6
+714,7
@@
netdev_dpdk_set_etheraddr(struct netdev *netdev,
ovs_mutex_lock(&dev->mutex);
if (!eth_addr_equals(dev->hwaddr, mac)) {
memcpy(dev->hwaddr, mac, ETH_ADDR_LEN);
ovs_mutex_lock(&dev->mutex);
if (!eth_addr_equals(dev->hwaddr, mac)) {
memcpy(dev->hwaddr, mac, ETH_ADDR_LEN);
+ netdev_change_seq_changed(netdev);
}
ovs_mutex_unlock(&dev->mutex);
}
ovs_mutex_unlock(&dev->mutex);
@@
-788,6
+787,7
@@
netdev_dpdk_set_mtu(const struct netdev *netdev, int mtu)
}
dpdk_mp_put(old_mp);
}
dpdk_mp_put(old_mp);
+ netdev_change_seq_changed(netdev);
out:
ovs_mutex_unlock(&dev->mutex);
ovs_mutex_unlock(&dpdk_mutex);
out:
ovs_mutex_unlock(&dev->mutex);
ovs_mutex_unlock(&dpdk_mutex);
@@
-1103,7
+1103,7
@@
dpdk_class_init(void)
"[netdev] up|down", 1, 2,
netdev_dpdk_set_admin_state, NULL);
"[netdev] up|down", 1, 2,
netdev_dpdk_set_admin_state, NULL);
-
xpthread_create(&watchdog_thread, NULL
, dpdk_watchdog, NULL);
+
ovs_thread_create("dpdk_watchdog"
, dpdk_watchdog, NULL);
return 0;
}
return 0;
}