[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CFF8EF42F1132E4CBE2BF0AB6C21C58D7274A5C7@ESESSMB107.ericsson.se>
Date: Mon, 21 Aug 2017 10:10:38 +0000
From: Jan Scheurich <jan.scheurich@...csson.com>
To: Jiri Benc <jbenc@...hat.com>
CC: "Yang, Yi" <yi.y.yang@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"dev@...nvswitch.org" <dev@...nvswitch.org>,
"blp@....org" <blp@....org>, "e@...g.me" <e@...g.me>
Subject: RE: [PATCH net-next v4] openvswitch: enable NSH support
> > NSH can be carried over Ethernet with a 14 byte header. In that case
> > the total NSH header would typically be 16-bit aligned, so that all
> > 32-bit members would be misaligned.
>
> See NET_IP_ALIGN in include/linux/skbuff.h.
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.
Furthermore, there seem to be machine architectures that cannot handle misaligned 32-bit access at all (not even with a performance penalty).
Or why else does OVS user space code take so great pain to model possible misalignment and provide/use safe access functions?
Does Linux kernel code generally ignore this risk?
/Jan
Powered by blists - more mailing lists