Thread (2 messages) 2 messages, 2 authors, 2017-08-22

Re: [PATCH net-next v4] openvswitch: enable NSH support

flat view

From: Jiri Benc <hidden>
Date: 2017-08-21 11:50:19

On Mon, 21 Aug 2017 10:10:38 +0000, Jan Scheurich wrote:
If I understand correctly, this is a default definition that can be
overridden by drivers so that we still cannot rely on the Ethernet
payload always being 32-bit-aligned. 
Not by drivers, by architectures. Only architectures that can
efficiently handle unaligned access (or on which the cost of handling
unaligned access is lower than the cost of unaligned DMA access) set
NET_IP_ALIGN to 0.
Furthermore, there seem to be machine architectures that cannot
handle misaligned 32-bit access at all (not even with a performance
penalty).
Those leave NET_IP_ALIGN to 2.
Or why else does OVS user space code take so great pain to model
possible misalignment and provide/use safe access functions?
I don't know how the ovs user space deals with packet allocation. In
the kernel, the network header is aligned in a way that it allows
efficient 32bit access.
Does Linux kernel code generally ignore this risk?
Given the fact that IPv4 addresses are 32bit, are accessed as such and
one can't say that IPv4 implementation on Linux is non-functional, the
answer is obvious :-)

 Jiri
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help