Hi Bill, I just tried the build and it seems to work fine on the latest API-NEXT branch.
Did you mean it is not working after applying only part 2 of the patch ignoring the rest? All the 5 patches are dependent on each other since the changes are across two modules classification and pktio. I can redo the patches to make them individually compilable if it is a must requirement but I would prefer review comments on this series so that I can update them together in the next version. Regards, Bala On 24 November 2015 at 06:03, Bill Fischofer <[email protected]> wrote: > apply-and-build fails for Part 2: > > Making all in platform/linux-generic > make[1]: Entering directory > '/home/bill/linaro/check-odp/build/odp-apply/platform/linux-generic' > CC odp_barrier.lo > CC odp_buffer.lo > CC odp_classification.lo > CC odp_cpu.lo > CC odp_cpumask.lo > CC odp_cpumask_task.lo > CC odp_crypto.lo > CC odp_errno.lo > CC odp_event.lo > CC odp_hash.lo > CC odp_init.lo > CC odp_impl.lo > CC odp_packet.lo > CC odp_packet_flags.lo > CC odp_packet_io.lo > odp_packet.c:35:6: error: conflicting types for 'packet_parse_reset' > void packet_parse_reset(odp_packet_t pkt) > ^ > In file included from odp_packet.c:8:0: > ./include/odp_packet_internal.h:248:6: note: previous declaration of > 'packet_parse_reset' was here > void packet_parse_reset(odp_packet_hdr_t *pkt_hdr); > ^ > Makefile:735: recipe for target 'odp_packet.lo' failed > make[1]: *** [odp_packet.lo] Error 1 > > On Mon, Nov 23, 2015 at 4:12 AM, Balasubramanian Manoharan > <[email protected]> wrote: >> >> Adds linux-generic internal api's and modify internal structs to support >> configuring packet pool to CoS. >> >> Signed-off-by: Balasubramanian Manoharan <[email protected]> >> --- >> platform/linux-generic/include/odp_classification_datamodel.h | 1 + >> platform/linux-generic/include/odp_classification_internal.h | 3 +++ >> platform/linux-generic/include/odp_packet_internal.h | 8 >> +++++++- >> platform/linux-generic/include/odp_packet_io_internal.h | 4 ++++ >> platform/linux-generic/include/odp_packet_socket.h | 2 ++ >> 5 files changed, 17 insertions(+), 1 deletion(-) >> >> diff --git a/platform/linux-generic/include/odp_classification_datamodel.h >> b/platform/linux-generic/include/odp_classification_datamodel.h >> index 4358fca..3569e9c 100644 >> --- a/platform/linux-generic/include/odp_classification_datamodel.h >> +++ b/platform/linux-generic/include/odp_classification_datamodel.h >> @@ -67,6 +67,7 @@ Class Of Service >> struct cos_s { >> queue_entry_t *queue; /* Associated Queue */ >> pool_entry_t *pool; /* Associated Buffer pool */ >> + odp_pool_t pool_id; /* Associated pool handle */ >> union pmr_u *pmr; /* Chained PMR */ >> union cos_u *linked_cos; /* CoS linked with the PMR */ >> uint32_t valid; /* validity Flag */ >> diff --git a/platform/linux-generic/include/odp_classification_internal.h >> b/platform/linux-generic/include/odp_classification_internal.h >> index 5593280..7e46986 100644 >> --- a/platform/linux-generic/include/odp_classification_internal.h >> +++ b/platform/linux-generic/include/odp_classification_internal.h >> @@ -61,6 +61,9 @@ This function calls Classifier module internal functions >> for a given packet and >> enqueues the packet to specific Queue based on PMR and CoS selected. >> **/ >> int packet_classifier(odp_pktio_t pktio, odp_packet_t pkt); >> + >> +int _odp_packet_classifier(pktio_entry_t *entry, odp_packet_t pkt); >> + >> /** >> Packet IO classifier init >> >> diff --git a/platform/linux-generic/include/odp_packet_internal.h >> b/platform/linux-generic/include/odp_packet_internal.h >> index 6f1521c..12e9cca 100644 >> --- a/platform/linux-generic/include/odp_packet_internal.h >> +++ b/platform/linux-generic/include/odp_packet_internal.h >> @@ -28,6 +28,8 @@ extern "C" { >> #include <odp/crypto.h> >> #include <odp_crypto_internal.h> >> >> +#define PACKET_JUMBO_LEN (9 * 1024) >> + >> /** >> * Packet input & protocol flags >> */ >> @@ -243,7 +245,7 @@ void packet_parse_l2(odp_packet_hdr_t *pkt_hdr); >> int packet_parse_full(odp_packet_hdr_t *pkt_hdr); >> >> /* Reset parser metadata for a new parse */ >> -void packet_parse_reset(odp_packet_t pkt); >> +void packet_parse_reset(odp_packet_hdr_t *pkt_hdr); >> >> /* Convert a packet handle to a buffer handle */ >> odp_buffer_t _odp_packet_to_buffer(odp_packet_t pkt); >> @@ -251,6 +253,10 @@ odp_buffer_t _odp_packet_to_buffer(odp_packet_t pkt); >> /* Convert a buffer handle to a packet handle */ >> odp_packet_t _odp_packet_from_buffer(odp_buffer_t buf); >> >> +int _odp_parse_common(odp_packet_hdr_t *pkt_hdr, const uint8_t >> *parseptr); >> + >> +int _odp_cls_parse(odp_packet_hdr_t *pkt_hdr, const uint8_t *parseptr); >> + >> #ifdef __cplusplus >> } >> #endif >> diff --git a/platform/linux-generic/include/odp_packet_io_internal.h >> b/platform/linux-generic/include/odp_packet_io_internal.h >> index a46c6fe..1f79f9c 100644 >> --- a/platform/linux-generic/include/odp_packet_io_internal.h >> +++ b/platform/linux-generic/include/odp_packet_io_internal.h >> @@ -86,6 +86,7 @@ struct pktio_entry { >> classifier_t cls; /**< classifier linked with this >> pktio*/ >> char name[PKTIO_NAME_LEN]; /**< name of pktio provided to >> pktio_open() */ >> + odp_pktio_t id; >> odp_pktio_param_t param; >> }; >> >> @@ -118,6 +119,9 @@ typedef struct pktio_if_ops { >> int (*mac_get)(pktio_entry_t *pktio_entry, void *mac_addr); >> } pktio_if_ops_t; >> >> +int _odp_packet_cls_enq(pktio_entry_t *pktio_entry, uint8_t *base, >> + uint16_t buf_len, odp_packet_t *pkt_ret); >> + >> extern void *pktio_entry_ptr[]; >> >> static inline int pktio_to_id(odp_pktio_t pktio) >> diff --git a/platform/linux-generic/include/odp_packet_socket.h >> b/platform/linux-generic/include/odp_packet_socket.h >> index a5e0eb3..1eaafb7 100644 >> --- a/platform/linux-generic/include/odp_packet_socket.h >> +++ b/platform/linux-generic/include/odp_packet_socket.h >> @@ -44,6 +44,8 @@ typedef struct { >> int sockfd; /**< socket descriptor */ >> odp_pool_t pool; /**< pool to alloc packets from */ >> unsigned char if_mac[ETH_ALEN]; /**< IF eth mac addr */ >> + uint8_t *cache_ptr[ODP_PACKET_SOCKET_MAX_BURST_RX]; >> + odp_shm_t shm; >> } pkt_sock_t; >> >> /** packet mmap ring */ >> -- >> 1.9.1 >> >> _______________________________________________ >> lng-odp mailing list >> [email protected] >> https://lists.linaro.org/mailman/listinfo/lng-odp > > _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
