mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
netif: define XEN_NETIF_NR_SLOTS_MIN in public header
Xen network protocol has implicit dependency on MAX_SKB_FRAGS. In order to remove dependency on MAX_SKB_FRAGS, we derive a constant from historical MAX_SKB_FRAGS for future reference. Signed-off-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
This commit is contained in:
1 parent
df76bf093e
commit
723a375f4e
1 file changed
+18
@@ -30,6 +30,24 @@
|
||||
#include "ring.h"
|
||||
#include "../grant_table.h"
|
||||
|
||||
/*
|
||||
* Older implementation of Xen network frontend / backend has an
|
||||
* implicit dependency on the MAX_SKB_FRAGS as the maximum number of
|
||||
* ring slots a skb can use. Netfront / netback may not work as
|
||||
* expected when frontend and backend have different MAX_SKB_FRAGS.
|
||||
*
|
||||
* A better approach is to add mechanism for netfront / netback to
|
||||
* negotiate this value. However we cannot fix all possible
|
||||
* frontends, so we need to define a value which states the minimum
|
||||
* slots backend must support.
|
||||
*
|
||||
* The minimum value derives from older Linux kernel's MAX_SKB_FRAGS
|
||||
* (18), which is proved to work with most frontends. Any new backend
|
||||
* which doesn't negotiate with frontend should expect frontend to
|
||||
* send a valid packet using slots up to this value.
|
||||
*/
|
||||
#define XEN_NETIF_NR_SLOTS_MIN 18
|
||||
|
||||
/*
|
||||
* Notifications after enqueuing any type of message should be conditional on
|
||||
* the appropriate req_event or rsp_event field in the shared ring.
|
||||
|
||||