On Thu, Nov 13, 2014 at 10:14 PM, Anders Roxell
<[email protected]> wrote:
> On 2014-11-11 19:35, Ciprian Barbu wrote:
>> Signed-off-by: Ciprian Barbu <[email protected]>
>> ---
>> platform/linux-netmap/README | 23 ++++++++++-------
>> platform/linux-netmap/include/odp_packet_netmap.h | 20 +++++++--------
>> platform/linux-netmap/odp_packet_netmap.c | 30
>> +++++++++++------------
>> 3 files changed, 39 insertions(+), 34 deletions(-)
>>
>> diff --git a/platform/linux-netmap/README b/platform/linux-netmap/README
>> index abcb187..3718072 100644
>> --- a/platform/linux-netmap/README
>> +++ b/platform/linux-netmap/README
>> @@ -25,20 +25,18 @@ at runtime.
>> 2.1 Building netmap
>> --------------------
>>
>> -Netmap is currently hosted on https://code.google.com/p/netmap/ but
>> -ODP only works at this point with netmap API version 10 so you will need
>> -a specific revision of netmap.
>> +Netmap is currently hosted on https://code.google.com/p/netmap/
>>
>> git clone https://code.google.com/p/netmap/
>> cd netmap
>> - git reset --hard 1f462ef
>> + git co v11.1
>>
>> Netmap consists of a core kernel module (netmap_lin.ko) and optional
>> modified
>> device drivers.
>>
>> Netmap builds as an out-of-tree kernel module, you need matching kernel
>> sources
>> to compile it. General build instructions can be found in the packet README:
>> -http://code.google.com/p/netmap/source/browse/README
>> +https://code.google.com/p/netmap/source/browse/LINUX/README
>>
>> 2.1.1 Building netmap on Ubuntu with stock kernel
>
> Building netmap kernel modules on Ubuntu...
>
> We build the kernel module and not the netmap...
>
>>
>> @@ -56,12 +54,14 @@ You will need to locate it and extract it to a
>> convenient place.
>> Now compile netmap:
>
> Its not manatory to build netmap kernel module before we build ODP.
I'll try to reorganize this section
>
>>
>> cd LINUX
>> - make SRC=<path_to_kernel_source>
>> + ./configure --kernel-sources=<path_to_kernel_src>
>> + make
>>
>> 2.1.2 Building netmap for kernel built from sources
>>
>> cd LINUX
>> - make KSRC=<path_to_kernel_source>
>> + ./configure --kernel-dir=<path_to_kernel_tree>
>> + make
>>
>> 2.2 Building ODP
>> ----------------
>> @@ -69,13 +69,18 @@ Now compile netmap:
>> The default platform is linux-netmap, if you want linux-generic you need to
>> specify it to configure --with-platform.
>>
>> +ODP works with the latest release version of netmap, which is currently at
>> API
>> +version 11.1. There is one problem though, the default CFLAGS that ODP is
>> built
>> +with contains -Werror=cast-qual. A temporary workaround is be to disable
>> this
>> +flag using -Wno-cast-qual.
>> +
>> The --with-sdk-install-path can be used to point to the netmap sources.
>>
>> ./bootstrap
>>
>> - ./configure
>> + ./configure CFLAGS='-Wno-cast-qual'
>
> The CFLAG should not be here, it should go into
> platform/linux-netmap/Makefile.am
Sure.
>
>> or
>> - ./configure --with-sdk-install-path=<netmap>
>> + ./configure --with-sdk-install-path=<netmap> CFLAGS='-Wno-cast-qual'
>>
>> To configure ODP for linux-generic:
>> ./configure --with-platform=linux-generic
>> diff --git a/platform/linux-netmap/include/odp_packet_netmap.h
>> b/platform/linux-netmap/include/odp_packet_netmap.h
>> index b4c523f..78b2379 100644
>> --- a/platform/linux-netmap/include/odp_packet_netmap.h
>> +++ b/platform/linux-netmap/include/odp_packet_netmap.h
>> @@ -26,17 +26,17 @@
>> /** Packet socket using netmap mmaped rings for both Rx and Tx */
>> typedef struct {
>> odp_buffer_pool_t pool;
>> - size_t max_frame_len; /**< max frame len = buf_size - sizeof(pkt_hdr)
>> */
>> - size_t frame_offset; /**< frame start offset from start of pkt buf */
>> - size_t buf_size; /**< size of buffer payload in 'pool' */
>> - struct nm_desc_t *nm_desc;
>> - uint32_t begin;
>> - uint32_t end;
>> - struct netmap_ring *rxring;
>> - struct netmap_ring *txring;
>> - odp_queue_t tx_access; /* Used for exclusive access to send packets */
>> + size_t max_frame_len; /**< buf_size - sizeof(pkt_hdr) */
>> + size_t frame_offset; /**< Frame start offset from start of pkt buf
>> */
>> + size_t buf_size; /**< Size of buffer payload in 'pool' */
>> + struct nm_desc *desc; /**< Netmap meta-data for the device */
>> + uint32_t begin; /**< First ring to poll */
>> + uint32_t end; /**< Last ring to poll */
>> + struct netmap_ring *rxring; /**< First rx ring */
>> + struct netmap_ring *txring; /**< First tx ring */
>> + odp_queue_t tx_access; /** Used for exclusive access to send packets
>> */
>
> Please be consistent you've used spaces and tabs between the variables
> and comments.
Ok, I missed that.
>
>
> Cheers,
> Anders
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp