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