git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mlx4: avoid init errors when kernel modules are not loaded
[dpdk.git]
/
lib
/
librte_ip_frag
/
rte_ipv4_reassembly.c
diff --git
a/lib/librte_ip_frag/rte_ipv4_reassembly.c
b/lib/librte_ip_frag/rte_ipv4_reassembly.c
index
483fb95
..
841ac14
100644
(file)
--- a/
lib/librte_ip_frag/rte_ipv4_reassembly.c
+++ b/
lib/librte_ip_frag/rte_ipv4_reassembly.c
@@
-31,26
+31,17
@@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
-
#include <stddef.h>
#include <stddef.h>
-#include <stdint.h>
-#include <rte_byteorder.h>
-#include <rte_mbuf.h>
#include <rte_debug.h>
#include <rte_debug.h>
-#include <rte_tailq.h>
-#include <rte_malloc.h>
-#include <rte_ip.h>
-#include "rte_ip_frag.h"
#include "ip_frag_common.h"
/*
* Reassemble fragments into one packet.
*/
struct rte_mbuf *
#include "ip_frag_common.h"
/*
* Reassemble fragments into one packet.
*/
struct rte_mbuf *
-ipv4_frag_reassemble(const struct
rte_
ip_frag_pkt *fp)
+ipv4_frag_reassemble(const struct ip_frag_pkt *fp)
{
struct ipv4_hdr *ip_hdr;
struct rte_mbuf *m, *prev;
{
struct ipv4_hdr *ip_hdr;
struct rte_mbuf *m, *prev;
@@
-95,10
+86,10
@@
ipv4_frag_reassemble(const struct rte_ip_frag_pkt *fp)
/* update ipv4 header for the reassmebled packet */
ip_hdr = (struct ipv4_hdr*)(rte_pktmbuf_mtod(m, uint8_t *) +
/* update ipv4 header for the reassmebled packet */
ip_hdr = (struct ipv4_hdr*)(rte_pktmbuf_mtod(m, uint8_t *) +
- m->
pkt.vlan_macip.f.
l2_len);
+ m->l2_len);
ip_hdr->total_length = rte_cpu_to_be_16((uint16_t)(fp->total_size +
ip_hdr->total_length = rte_cpu_to_be_16((uint16_t)(fp->total_size +
- m->
pkt.vlan_macip.f.
l3_len));
+ m->l3_len));
ip_hdr->fragment_offset = (uint16_t)(ip_hdr->fragment_offset &
rte_cpu_to_be_16(IPV4_HDR_DF_FLAG));
ip_hdr->hdr_checksum = 0;
ip_hdr->fragment_offset = (uint16_t)(ip_hdr->fragment_offset &
rte_cpu_to_be_16(IPV4_HDR_DF_FLAG));
ip_hdr->hdr_checksum = 0;
@@
-127,7
+118,7
@@
rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
struct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,
struct ipv4_hdr *ip_hdr)
{
struct rte_ip_frag_death_row *dr, struct rte_mbuf *mb, uint64_t tms,
struct ipv4_hdr *ip_hdr)
{
- struct
rte_
ip_frag_pkt *fp;
+ struct ip_frag_pkt *fp;
struct ip_frag_key key;
const uint64_t *psd;
uint16_t ip_len;
struct ip_frag_key key;
const uint64_t *psd;
uint16_t ip_len;
@@
-138,12
+129,14
@@
rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
ip_flag = (uint16_t)(flag_offset & IPV4_HDR_MF_FLAG);
psd = (uint64_t *)&ip_hdr->src_addr;
ip_flag = (uint16_t)(flag_offset & IPV4_HDR_MF_FLAG);
psd = (uint64_t *)&ip_hdr->src_addr;
- key.src_dst = *psd;
+ /* use first 8 bytes only */
+ key.src_dst[0] = psd[0];
key.id = ip_hdr->packet_id;
key.id = ip_hdr->packet_id;
+ key.key_len = IPV4_KEYLEN;
ip_ofs *= IPV4_HDR_OFFSET_UNITS;
ip_len = (uint16_t)(rte_be_to_cpu_16(ip_hdr->total_length) -
ip_ofs *= IPV4_HDR_OFFSET_UNITS;
ip_len = (uint16_t)(rte_be_to_cpu_16(ip_hdr->total_length) -
- mb->
pkt.vlan_macip.f.
l3_len);
+ mb->l3_len);
IP_FRAG_LOG(DEBUG, "%s:%d:\n"
"mbuf: %p, tms: %" PRIu64
IP_FRAG_LOG(DEBUG, "%s:%d:\n"
"mbuf: %p, tms: %" PRIu64
@@
-151,7
+144,7
@@
rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
"tbl: %p, max_cycles: %" PRIu64 ", entry_mask: %#x, "
"max_entries: %u, use_entries: %u\n\n",
__func__, __LINE__,
"tbl: %p, max_cycles: %" PRIu64 ", entry_mask: %#x, "
"max_entries: %u, use_entries: %u\n\n",
__func__, __LINE__,
- mb, tms, key.src_dst, key.id, ip_ofs, ip_len, ip_flag,
+ mb, tms, key.src_dst
[0]
, key.id, ip_ofs, ip_len, ip_flag,
tbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,
tbl->use_entries);
tbl, tbl->max_cycles, tbl->entry_mask, tbl->max_entries,
tbl->use_entries);
@@
-167,7
+160,7
@@
rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
", total_size: %u, frag_size: %u, last_idx: %u\n\n",
__func__, __LINE__,
tbl, tbl->max_entries, tbl->use_entries,
", total_size: %u, frag_size: %u, last_idx: %u\n\n",
__func__, __LINE__,
tbl, tbl->max_entries, tbl->use_entries,
- fp, fp->key.src_dst, fp->key.id, fp->start,
+ fp, fp->key.src_dst
[0]
, fp->key.id, fp->start,
fp->total_size, fp->frag_size, fp->last_idx);
fp->total_size, fp->frag_size, fp->last_idx);
@@
-182,7
+175,7
@@
rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
", total_size: %u, frag_size: %u, last_idx: %u\n\n",
__func__, __LINE__, mb,
tbl, tbl->max_entries, tbl->use_entries,
", total_size: %u, frag_size: %u, last_idx: %u\n\n",
__func__, __LINE__, mb,
tbl, tbl->max_entries, tbl->use_entries,
- fp, fp->key.src_dst, fp->key.id, fp->start,
+ fp, fp->key.src_dst
[0]
, fp->key.id, fp->start,
fp->total_size, fp->frag_size, fp->last_idx);
return (mb);
fp->total_size, fp->frag_size, fp->last_idx);
return (mb);