aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/avf/avf.h
diff options
context:
space:
mode:
authorSteven Luong <sluong@cisco.com>2020-02-13 09:27:38 -0800
committerDave Wallace <dwallacelf@gmail.com>2020-03-10 14:22:23 +0000
commit4056ed59a0fd7c61629a4d0a882fadab2b316e22 (patch)
tree6cbd6fda4cc8cfb3a5dd43273382f11e6a6ecdef /src/plugins/avf/avf.h
parentcd88ca366c18dbf6761199f1f2f935895497d82f (diff)
avf: Handle chain buffer in TX properly
For chain buffer, need to traverse b->next_buffer to transmit all buffers in the chain. Only set EOP at the last descriptor in the chain to signal this is a chain descriptor. Introduce slow path to handle ring wrap. This is needed because chain buffer may consist of multiple pieces and it may span from near the end of the ring to the beginning of the ring. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Id7c872f3e39e09f3566aa63f3cdba8f40736d508 (cherry picked from commit f7ab7b2d9bc0f42c1e766d22d49dd0dc4f28abb6)
Diffstat (limited to 'src/plugins/avf/avf.h')
-rw-r--r--src/plugins/avf/avf.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/avf/avf.h b/src/plugins/avf/avf.h
index a8e8b96e18b..744b58370e4 100644
--- a/src/plugins/avf/avf.h
+++ b/src/plugins/avf/avf.h
@@ -333,7 +333,8 @@ typedef struct
} avf_input_trace_t;
#define foreach_avf_tx_func_error \
-_(NO_FREE_SLOTS, "no free tx slots")
+ _(SEGMENT_SIZE_EXCEEDED, "segment size exceeded") \
+ _(NO_FREE_SLOTS, "no free tx slots")
typedef enum
{