On 03/21/2014 10:28 PM, Pravin Shelar wrote:

I think it is not possible. Why vswitchd would generate such action if
the packet is not going somewhere?

[...]

right, there is memory leak for packet size less than eth-header.
unfortunately dp_netdev_port_input() would not know if packet is
deleted, since it can send it to odp-execute.
At this point there is three places where we delete packet:
1. dp_netdev_port_input()
2. odp action (drop)
3. odp-actions callback.

I do not think if we can centralize it.

odp_execute_actions() and the callback can be made returning a bool
indicating whether the buffer was consumed, much like the kernel
rx handler.

I think it's slightly fragile as-is. Definitely don't want to hold
up the series because of this. I'm happy to propose this as a follow up
as well.

-    retval = rx->netdev->netdev_class->rx_recv(rx, buffer);
+    retval = rx->netdev->netdev_class->rx_recv(rx, buffers, cnt);
       if (!retval) {
           COVERAGE_INC(netdev_received);


What would be awesome here is a COVERAGE_ADD(netdev_batched, cnt).

I am not sure what do u mean, but we can get avg batch size by looking
at all packets recved and this count for given period of time.

True, hit+miss/netdev_received will provide a similar average.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to