Merged,
Maxim.

On 09/06/16 16:28, Bill Fischofer wrote:
This should be PATCHv2, but thanks :)

On Tue, Sep 6, 2016 at 4:22 PM, Matias Elo <[email protected]> wrote:

From: Juha Mattila <[email protected]>

Add missing classifier support to tap pktio.

Resolves bug: https://bugs.linaro.org/show_bug.cgi?id=2504

Reviewed-and-tested-by: Bill Fischofer <[email protected]>
Signed-off-by: Matias Elo <[email protected]>
Signed-off-by: Juha Mattila <[email protected]>
---
  platform/linux-generic/pktio/tap.c | 17 ++++++++++++++++-
  1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/platform/linux-generic/pktio/tap.c b/platform/linux-generic/
pktio/tap.c
index d758a39..ac20456 100644
--- a/platform/linux-generic/pktio/tap.c
+++ b/platform/linux-generic/pktio/tap.c
@@ -43,6 +43,7 @@
  #include <odp_packet_socket.h>
  #include <odp_packet_internal.h>
  #include <odp_packet_io_internal.h>
+#include <odp_classification_internal.h>

  #define BUF_SIZE 65536

@@ -185,8 +186,17 @@ static odp_packet_t pack_odp_pkt(pktio_entry_t
*pktio_entry, const void *data,
  {
         odp_packet_t pkt;
         odp_packet_hdr_t *pkt_hdr;
+       odp_packet_hdr_t parsed_hdr;
         int num;

+       if (pktio_cls_enabled(pktio_entry)) {
+               if (cls_classify_packet(pktio_entry, data, len, len,
+                                       &pktio_entry->s.pkt_tap.pool,
+                                       &parsed_hdr)) {
+                       return ODP_PACKET_INVALID;
+               }
+       }
+
         num = packet_alloc_multi(pktio_entry->s.pkt_tap.pool, len, &pkt,
1);

         if (num != 1)
@@ -199,7 +209,12 @@ static odp_packet_t pack_odp_pkt(pktio_entry_t
*pktio_entry, const void *data,
         }

         pkt_hdr = odp_packet_hdr(pkt);
-       packet_parse_l2(&pkt_hdr->p, len);
+
+       if (pktio_cls_enabled(pktio_entry))
+               copy_packet_cls_metadata(&parsed_hdr, pkt_hdr);
+       else
+               packet_parse_l2(&pkt_hdr->p, len);
+
         packet_set_ts(pkt_hdr, ts);
         pkt_hdr->input = pktio_entry->s.handle;

--
2.7.4



Reply via email to