xdp: document xdp_do_flush() before napi_complete_done()
Document in the XDP_REDIRECT manual section that drivers must call xdp_do_flush() before napi_complete_done(). The two reasons behind this can be found following the links below. Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Link: https://lore.kernel.org/r/20221220185903.1105011-1-sbohrer@cloudflare.com Link: https://lore.kernel.org/all/20210624160609.292325-1-toke@redhat.com/ Acked-by: Toke Høiland-Jørgensen <toke@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bed91ac081
commit
68e5b6aa27
@ -4128,9 +4128,13 @@ static const struct bpf_func_proto bpf_xdp_adjust_meta_proto = {
|
||||
* bpf_redirect_info to actually enqueue the frame into a map type-specific
|
||||
* bulk queue structure.
|
||||
*
|
||||
* 3. Before exiting its NAPI poll loop, the driver will call xdp_do_flush(),
|
||||
* which will flush all the different bulk queues, thus completing the
|
||||
* redirect.
|
||||
* 3. Before exiting its NAPI poll loop, the driver will call
|
||||
* xdp_do_flush(), which will flush all the different bulk queues,
|
||||
* thus completing the redirect. Note that xdp_do_flush() must be
|
||||
* called before napi_complete_done() in the driver, as the
|
||||
* XDP_REDIRECT logic relies on being inside a single NAPI instance
|
||||
* through to the xdp_do_flush() call for RCU protection of all
|
||||
* in-kernel data structures.
|
||||
*/
|
||||
/*
|
||||
* Pointers to the map entries will be kept around for this whole sequence of
|
||||
|
Loading…
Reference in New Issue
Block a user