For the time being, its purpose is to carry event errors.
The series includes:
UAF fix (#151)
detach capabilities to all the bpfs (this would stop the counters manipulation)
add error_report flag in rodata for fast access (atm tied to --debug-ebpf, but could be replaced, or removed altogether, depending on the preference)
actual event error report (#128)
optimization that reduces the complexity (could be dropped, squashed, kept separate)
the series is ready to be reviewed, but of course requires some decisions mostly about the flag (whether we want it or not, and if so, a new one or an old is fine) and the optimization.
Below some simulated loss output:
09:00:20 [WARN] lost: 12 at ovs_execute_actions
09:00:20 [WARN] lost: 6 at ovs_dp_upcall
09:00:20 [WARN] lost: 6 at /usr/local/sbin/ovs-vswitchd:dpif_netlink_operate__:op_flow_execute
09:00:20 [WARN] lost: 6 at openvswitch:ovs_dp_upcall
09:00:20 [WARN] lost: 35 at net:netif_receive_skb
09:00:20 [WARN] lost: 6 at /usr/local/sbin/ovs-vswitchd:dpif_netlink_operate__:op_flow_execute
09:00:20 [WARN] lost: 1401 at skb_free_head
09:00:20 [WARN] lost: 6 at skb:kfree_skb
09:00:20 [WARN] lost: 6 at queue_userspace_packet
09:00:20 [WARN] lost: 12 at openvswitch:ovs_do_execute_action
09:00:20 [WARN] lost: 183 at pskb_expand_head
09:00:20 [WARN] lost: 19 at net:netif_rx
09:00:20 [WARN] total events lost: 1686
For the time being, its purpose is to carry event errors. The series includes:
the series is ready to be reviewed, but of course requires some decisions mostly about the flag (whether we want it or not, and if so, a new one or an old is fine) and the optimization.
Below some simulated loss output: