aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libtle_l4p/tcp_tx_seg.h
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2017-07-27 12:00:57 +0100
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2017-07-27 20:24:53 +0100
commit7e18fa1bf263822c46d7431a911b41d6377d5f69 (patch)
treeddf5ce05545419d6d77bb9d8b3c48fc90d221a7a /lib/libtle_l4p/tcp_tx_seg.h
parente151ee29d02d7802fab9e32b50ced54fd8d64160 (diff)
- Introduce tle_tcp_stream_readv() and tle_tcp_stream_writev().
- Introduce flags for tle_ctx_param. - Introduce TLE_CTX_FLAG_ST - indicates that given ctx will be used by single thread only. - Introduce new parameters for tcp context: timewait - allows user to configure max timeout in TCP_TIMEWAIT state. icw - allows user to specify desired initial congestion window for new connections. -Few optimisations: cache tx.ol_flags inside tle destination. calcualte and cache inside ctx cycles_to_ms shift value. reorder restoring SYN opts and filling TCB a bit. Change-Id: Ie05087783b3b7f1e4ce99d3555bc5bd098f83fe0 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Diffstat (limited to 'lib/libtle_l4p/tcp_tx_seg.h')
-rw-r--r--lib/libtle_l4p/tcp_tx_seg.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/lib/libtle_l4p/tcp_tx_seg.h b/lib/libtle_l4p/tcp_tx_seg.h
index 3a80fdd..a8d2425 100644
--- a/lib/libtle_l4p/tcp_tx_seg.h
+++ b/lib/libtle_l4p/tcp_tx_seg.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016 Intel Corporation.
+ * Copyright (c) 2016-2017 Intel Corporation.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
@@ -20,15 +20,6 @@
extern "C" {
#endif
-static inline void
-free_segments(struct rte_mbuf *mb[], uint32_t num)
-{
- uint32_t i;
-
- for (i = 0; i != num; i++)
- rte_pktmbuf_free(mb[i]);
-}
-
static inline int32_t
tcp_segmentation(struct rte_mbuf *mbin, struct rte_mbuf *mbout[], uint16_t num,
const struct tle_dest *dst, uint16_t mss)
@@ -53,7 +44,7 @@ tcp_segmentation(struct rte_mbuf *mbin, struct rte_mbuf *mbout[], uint16_t num,
/* Allocate direct buffer */
out_pkt = rte_pktmbuf_alloc(dst->head_mp);
if (out_pkt == NULL) {
- free_segments(mbout, nbseg);
+ free_mbufs(mbout, nbseg);
return -ENOMEM;
}
@@ -67,7 +58,7 @@ tcp_segmentation(struct rte_mbuf *mbin, struct rte_mbuf *mbout[], uint16_t num,
out_seg = rte_pktmbuf_alloc(dst->head_mp);
if (out_seg == NULL) {
rte_pktmbuf_free(out_pkt);
- free_segments(mbout, nbseg);
+ free_mbufs(mbout, nbseg);
return -ENOMEM;
}
out_seg_prev->next = out_seg;