On 19 Jun 2019, at 0:28, William Tu wrote:
I guess, this crash caused by trying to destroy unallocated queue.
Following change could help:
---
diff --git a/lib/netdev-afxdp.c b/lib/netdev-afxdp.c
index a6543e8f5..6e1431dce 100644
--- a/lib/netdev-afxdp.c
+++ b/lib/netdev-afxdp.c
@@ -249,7 +249,7 @@ xsk_configure_all(struct netdev *netdev)
ifindex = linux_get_ifindex(netdev_get_name(netdev));
n_rxq = netdev_n_rxq(netdev);
- dev->xsks = xmalloc(n_rxq * sizeof(struct xsk_socket_info *));
+ dev->xsks = xzalloc(n_rxq * sizeof(struct xsk_socket_info *));
/* configure each queue */
for (i = 0; i < n_rxq; i++) {
---
This should prevent OVS from crash, however, I don't know why socket
creation fails in your case.
Hi Ilya,
Thanks, I will add this into my next version.
@Eelco
When using ovs-ctl restart, it still fails, but this is because
userspace
datapath need extra "--cleanup" argument, s.t like
#ovs-appctl -t ovs-vswitchd --cleanup
We should add it to stop_daemon() at utilities/ovs-lib.in
It’s not there for a reason, i.e. they do not want interfaces to be
removed on OVS restart.
The only thing OVS should do is not to crash ;) Or maybe try to remove
the program when it fails to add it, or an option to force program load
as in the XDP examples.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev