[dpdk-dev] PMD/l3fwd issue

Harish Patil harish.patil at qlogic.com
Thu Sep 3 17:52:35 CEST 2015


Hello,
Have a question regarding l3fwd application. The l3fwd application expects
the poll mode driver to return packets whose L2 header is 16-byte aligned.
Otherwise, it results in a crash. This is due to use of _mm_load_si128()
and _mm_store_si128() intrinsics which expects the address to be 16-byte
aligned. However, most of the real protocol stack expects packets such
that its IP header be aligned on a 16-byte boundary (not L2). Its not just
for IP but any L3 for that matter.  That’s way we usually see
skb_reserve(skb, NET_IP_ALIGN) calls in linux drivers.

So I’m looking for suggestions here, whether l3wd application or poll mode
driver should be changed to fix that? What is the right thing to do?
Can a check be added in l3fwd to use _mm_loadu_si128/_mm_storeu_si128
instructions instead of mm_load_si128/_mm_store_si128 if address is found
not be 16B aligned?

Thanks,
Harish



________________________________

This message and any attached documents contain information from the sending company or its parent company(s), subsidiaries, divisions or branch offices that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.


More information about the dev mailing list