On 6 November 2014 22:30, Mike Holmes <[email protected]> wrote:

> Venki can you please review this for inclusion in the DPDK repo.
>

Sure will look at it and give my comments.


>
> Mike
>
> On 4 November 2014 12:38, Zoltan Kiss <[email protected]> wrote:
>
>> The following commits changed the master branch of DPDK:
>>
>> http://dpdk.org/browse/dpdk/commit/?id=7869536f
>> http://dpdk.org/browse/dpdk/commit/?id=ca04aaea
>> http://dpdk.org/browse/dpdk/commit/?id=08b563ff
>> http://dpdk.org/browse/dpdk/commit/?id=ea672a8b
>> http://dpdk.org/browse/dpdk/commit/?id=9aaccf1a
>> http://dpdk.org/browse/dpdk/commit/?id=e5ffdd14
>> http://dpdk.org/browse/dpdk/commit/?id=591a9d79
>>
>> This patch adjust the code to these changes.
>>
>> Signed-off-by: Zoltan Kiss <[email protected]>
>> diff --git a/platform/linux-dpdk/odp_buffer.c
>> b/platform/linux-dpdk/odp_buffer.c
>> index 4914ca2..b586fa2 100644
>> --- a/platform/linux-dpdk/odp_buffer.c
>> +++ b/platform/linux-dpdk/odp_buffer.c
>> @@ -69,8 +69,6 @@ int odp_buffer_snprint(char *str, size_t n,
>> odp_buffer_t buf)
>>         len += snprintf(&str[len], n-len,
>>                         "  ref_count    %i\n",        hdr->mb.refcnt);
>>         len += snprintf(&str[len], n-len,
>> -                       "  dpdk type    %i\n",        hdr->mb.type);
>> -       len += snprintf(&str[len], n-len,
>>                         "  odp type     %i\n",        hdr->type);
>>
>>         return len;
>> diff --git a/platform/linux-dpdk/odp_buffer_pool.c
>> b/platform/linux-dpdk/odp_buffer_pool.c
>> index 8325b9e..e2183d6 100644
>> --- a/platform/linux-dpdk/odp_buffer_pool.c
>> +++ b/platform/linux-dpdk/odp_buffer_pool.c
>> @@ -169,18 +169,18 @@ odp_dpdk_mbuf_ctor(struct rte_mempool *mp,
>>         /* keep some headroom between start of buffer and data */
>>         if (mb_ctor_arg->buf_type == ODP_BUFFER_TYPE_PACKET ||
>>             mb_ctor_arg->buf_type == ODP_BUFFER_TYPE_ANY)
>> -               mb->pkt.data = (char *)mb->buf_addr +
>> RTE_PKTMBUF_HEADROOM;
>> +               mb->data_off = RTE_PKTMBUF_HEADROOM;
>>         else
>> -               mb->pkt.data = mb->buf_addr;
>> +               mb->data_off = 0;
>>
>>         /* init some constant fields */
>> -       mb->type         = RTE_MBUF_PKT;
>>         mb->pool         = mp;
>> -       mb->pkt.nb_segs  = 1;
>> -       mb->pkt.in_port  = 0xff;
>> +       mb->nb_segs  = 1;
>> +       mb->port  = 0xff;
>>         mb->ol_flags     = 0;
>> -       mb->pkt.vlan_macip.data = 0;
>> -       mb->pkt.hash.rss = 0;
>> +       mb->l2_l3_len = 0;
>> +       mb->vlan_tci = 0;
>> +       mb->hash.rss = 0;
>>
>>         /* Save index, might be useful for debugging purposes */
>>         buf_hdr = (struct odp_buffer_hdr_t *)raw_mbuf;
>> @@ -282,5 +282,5 @@ void odp_buffer_free(odp_buffer_t buf)
>>
>>  void odp_buffer_pool_print(odp_buffer_pool_t pool_id)
>>  {
>> -       rte_mempool_dump((const struct rte_mempool *)pool_id);
>> +       rte_mempool_dump(stdout, (const struct rte_mempool *)pool_id);
>>  }
>> diff --git a/platform/linux-dpdk/odp_init.c
>> b/platform/linux-dpdk/odp_init.c
>> index ecc2066..97f8b21 100644
>> --- a/platform/linux-dpdk/odp_init.c
>> +++ b/platform/linux-dpdk/odp_init.c
>> @@ -37,11 +37,6 @@ int odp_init_dpdk(void)
>>                 return -1;
>>         }
>>
>> -       if (rte_pmd_init_all() < 0) {
>> -               ODP_ERR("Cannot init pmd\n");
>> -               return -1;
>> -       }
>> -
>>         if (rte_eal_pci_probe() < 0) {
>>                 ODP_ERR("Cannot probe PCI\n");
>>                 return -1;
>> diff --git a/platform/linux-dpdk/odp_packet.c
>> b/platform/linux-dpdk/odp_packet.c
>> index 1cd190d..0586538 100644
>> --- a/platform/linux-dpdk/odp_packet.c
>> +++ b/platform/linux-dpdk/odp_packet.c
>> @@ -51,14 +51,12 @@ static int odp_packet_set_offset_len(odp_packet_t
>> pkt, size_t frame_offset,
>>                                      size_t len)
>>  {
>>         struct rte_mbuf *mb = &(odp_packet_hdr(pkt)->buf_hdr.mb);
>> -       uint16_t offset;
>> +       uint16_t offset = mb->data_off;
>>         uint16_t data_len;
>>
>>         /* The pkt buf may have been pulled back into the headroom
>>          * so we cannot rely on finding the data right after the
>>          * ODP header and HEADROOM */
>> -       offset = (uint16_t)((unsigned long)mb->pkt.data -
>> -                           (unsigned long)mb->buf_addr);
>>         ODP_ASSERT(mb->buf_len >= offset, "Corrupted mbuf");
>>         data_len = mb->buf_len - offset;
>>
>> @@ -66,14 +64,14 @@ static int odp_packet_set_offset_len(odp_packet_t
>> pkt, size_t frame_offset,
>>                 ODP_ERR("Frame offset too big");
>>                 return -1;
>>         }
>> -       mb->pkt.data = (void *)((char *)mb->pkt.data + frame_offset);
>> +       mb->data_off += frame_offset;
>>         data_len -= frame_offset;
>>
>>         if (data_len < len) {
>>                 ODP_ERR("Packet len too big");
>>                 return -1;
>>         }
>> -       mb->pkt.pkt_len = len;
>> +       mb->pkt_len = len;
>>
>>         return 0;
>>  }
>> @@ -86,7 +84,7 @@ void odp_packet_set_len(odp_packet_t pkt, size_t len)
>>  size_t odp_packet_get_len(odp_packet_t pkt)
>>  {
>>         struct rte_mbuf *mb = &(odp_packet_hdr(pkt)->buf_hdr.mb);
>> -       return mb->pkt.pkt_len;
>> +       return mb->pkt_len;
>>  }
>>
>>  uint8_t *odp_packet_buf_addr(odp_packet_t pkt)
>> @@ -97,7 +95,7 @@ uint8_t *odp_packet_buf_addr(odp_packet_t pkt)
>>  uint8_t *odp_packet_start(odp_packet_t pkt)
>>  {
>>         struct rte_mbuf *mb = &(odp_packet_hdr(pkt)->buf_hdr.mb);
>> -       return mb->pkt.data;
>> +       return ((uint8_t *)(mb->buf_addr) + mb->data_off);
>>  }
>>
>>
>> @@ -360,13 +358,13 @@ void odp_packet_print(odp_packet_t pkt)
>>         len += snprintf(&str[len], n-len,
>>                         "  l4_offset    %u\n", hdr->l4_offset);
>>         len += snprintf(&str[len], n-len,
>> -                       "  frame_len    %u\n",
>> hdr->buf_hdr.mb.pkt.pkt_len);
>> +                       "  frame_len    %u\n", hdr->buf_hdr.mb.pkt_len);
>>         len += snprintf(&str[len], n-len,
>>                         "  input        %u\n", hdr->input);
>>         str[len] = '\0';
>>
>>         printf("\n%s\n", str);
>> -       rte_pktmbuf_dump(&hdr->buf_hdr.mb, 32);
>> +       rte_pktmbuf_dump(stdout, &hdr->buf_hdr.mb, 32);
>>
>>         p = odp_packet_start(pkt);
>>         printf("00000000: %02X %02X %02X %02X %02X %02X %02X %02X\n",
>> @@ -393,12 +391,12 @@ int odp_packet_copy(odp_packet_t pkt_dst,
>> odp_packet_t pkt_src)
>>         mb_dst = &(odp_packet_hdr(pkt_dst)->buf_hdr.mb);
>>         mb_src = &(odp_packet_hdr(pkt_src)->buf_hdr.mb);
>>
>> -       if (mb_dst->pkt.nb_segs != mb_src->pkt.nb_segs) {
>> +       if (mb_dst->nb_segs != mb_src->nb_segs) {
>>                 ODP_ERR("Different nb_segs in pkt_dst and pkt_src");
>>                 return -1;
>>         }
>>
>> -       nb_segs = mb_src->pkt.nb_segs;
>> +       nb_segs = mb_src->nb_segs;
>>
>>         if (mb_dst->buf_len < mb_src->buf_len) {
>>                 ODP_ERR("dst_pkt smaller than src_pkt");
>> @@ -411,8 +409,8 @@ int odp_packet_copy(odp_packet_t pkt_dst,
>> odp_packet_t pkt_src)
>>                         return -1;
>>                 }
>>                 memcpy(mb_dst->buf_addr, mb_src->buf_addr,
>> mb_src->buf_len);
>> -               mb_dst = mb_dst->pkt.next;
>> -               mb_src = mb_src->pkt.next;
>> +               mb_dst = mb_dst->next;
>> +               mb_src = mb_src->next;
>>         }
>>         return 0;
>>  }
>> diff --git a/platform/linux-dpdk/odp_packet_dpdk.c
>> b/platform/linux-dpdk/odp_packet_dpdk.c
>> index 9fe4bbd..94653d4 100644
>> --- a/platform/linux-dpdk/odp_packet_dpdk.c
>> +++ b/platform/linux-dpdk/odp_packet_dpdk.c
>> @@ -167,7 +167,7 @@ int recv_pkt_dpdk(pkt_dpdk_t * const pkt_dpdk,
>> odp_packet_t pkt_table[],
>>         for (i = 0; i < nb_rx; i++) {
>>                 odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt_table[i]);
>>                 struct rte_mbuf *mb = &pkt_hdr->buf_hdr.mb;
>> -               odp_packet_parse(pkt_table[i], mb->pkt.pkt_len, 0);
>> +               odp_packet_parse(pkt_table[i], mb->pkt_len, 0);
>>         }
>>         return nb_rx;
>>  }
>>
>> _______________________________________________
>> lng-odp mailing list
>> [email protected]
>> http://lists.linaro.org/mailman/listinfo/lng-odp
>>
>
>
>
> --
> *Mike Holmes*
> Linaro  Sr Technical Manager
> LNG - ODP
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp
>
>
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to