muvarov replied on github web page:

example/generator/odp_generator.c
line 193
@@ -784,10 +811,33 @@ static void print_pkts(int thr, thread_args_t *thr_args,
        unsigned i;
        size_t offset;
        char msg[1024];
+       interface_t *itfs, *itf;
+
+       itfs = thr_args->rx.ifs;
 
        for (i = 0; i < len; ++i) {
                pkt = pkt_tbl[i];
 
+               itf = &itfs[odp_pktio_index(odp_packet_input(pkt))];
+
+               if (odp_packet_has_ipv4(pkt)) {
+                       if (itf->config.pktin.bit.ipv4_chksum) {
+                               if (odp_packet_has_l3_error(pkt))
+                                       printf("HW detected L3 error\n");
+                       }
+               }
+
+               if (odp_packet_has_udp(pkt)) {
+                       if (itf->config.pktin.bit.udp_chksum) {
+                               if (odp_packet_has_l4_error(pkt))
+                                       printf("HW detected L4 error\n");
+                       }
+               }
+
+               /* Drop packets with errors */
+               if (odp_unlikely(odp_packet_has_error(pkt)))


Comment:
that has to be the first check.

> muvarov wrote
> -r ?


https://github.com/Linaro/odp/pull/343#discussion_r157054602
updated_at 2017-12-14 20:34:16

Reply via email to