X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_ip_frag%2Fip_frag_common.h;h=cde6ed4a296268b597b1bfeaf4e24a1ba63b59be;hb=5915699153d788c5cb3c449635eca46f1da6f2fe;hp=81ca23a4d77152f4686d5524cff94723e1ea4b44;hpb=ea672a8b1655bbb44876d2550ff56f384968a43b;p=dpdk.git diff --git a/lib/librte_ip_frag/ip_frag_common.h b/lib/librte_ip_frag/ip_frag_common.h index 81ca23a4d7..cde6ed4a29 100644 --- a/lib/librte_ip_frag/ip_frag_common.h +++ b/lib/librte_ip_frag/ip_frag_common.h @@ -90,7 +90,7 @@ static inline int ip_frag_key_is_empty(const struct ip_frag_key * key) { uint32_t i; - for (i = 0; i < key->key_len; i++) + for (i = 0; i < RTE_MIN(key->key_len, RTE_DIM(key->src_dst)); i++) if (key->src_dst[i] != 0) return 0; return 1; @@ -166,28 +166,4 @@ ip_frag_reset(struct ip_frag_pkt *fp, uint64_t tms) fp->frags[IP_FIRST_FRAG_IDX] = zero_frag; } -/* chain two mbufs */ -static inline void -ip_frag_chain(struct rte_mbuf *mn, struct rte_mbuf *mp) -{ - struct rte_mbuf *ms; - - /* adjust start of the last fragment data. */ - rte_pktmbuf_adj(mp, (uint16_t)(mp->vlan_macip.f.l2_len + - mp->vlan_macip.f.l3_len)); - - /* chain two fragments. */ - ms = rte_pktmbuf_lastseg(mn); - ms->next = mp; - - /* accumulate number of segments and total length. */ - mn->nb_segs = (uint8_t)(mn->nb_segs + mp->nb_segs); - mn->pkt_len += mp->pkt_len; - - /* reset pkt_len and nb_segs for chained fragment. */ - mp->pkt_len = mp->data_len; - mp->nb_segs = 1; -} - - #endif /* _IP_FRAG_COMMON_H_ */