net: add endianness annotations to ethernet headers
Spotted by sparse in OVS build: /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:789:27: error: incorrect type in initializer (different base types) /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:789:27: expected unsigned short [usertype] ether_type /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:789:27: got restricted ovs_be16 [usertype] /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:829:25: error: incorrect type in initializer (different base types) /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:829:25: expected unsigned short [usertype] vlan_tci /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:829:25: got restricted ovs_be16 [usertype] /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:830:26: error: incorrect type in initializer (different base types) /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:830:26: expected unsigned short [usertype] eth_proto /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:830:26: got restricted ovs_be16 [usertype] This was not caught before as no code in headers was using those fields. This changed with commit6f2168b69a
("ethdev: reuse ethernet header definition in flow item") and commita56a262e34
("ethdev: reuse VLAN header definition in flow item"). Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
This commit is contained in:
parent
eeded2044a
commit
dc2c712f72
@ -276,7 +276,7 @@ struct rte_ether_hdr {
|
||||
struct rte_ether_addr S_addr;
|
||||
} S_un; /**< Do not use directly; use s_addr instead.*/
|
||||
};
|
||||
uint16_t ether_type; /**< Frame type. */
|
||||
rte_be16_t ether_type; /**< Frame type. */
|
||||
} __rte_aligned(2);
|
||||
|
||||
#pragma pop_macro("s_addr")
|
||||
@ -287,8 +287,8 @@ struct rte_ether_hdr {
|
||||
* of the encapsulated frame.
|
||||
*/
|
||||
struct rte_vlan_hdr {
|
||||
uint16_t vlan_tci; /**< Priority (3) + CFI (1) + Identifier Code (12) */
|
||||
uint16_t eth_proto;/**< Ethernet type of encapsulated frame. */
|
||||
rte_be16_t vlan_tci; /**< Priority (3) + CFI (1) + Identifier Code (12) */
|
||||
rte_be16_t eth_proto; /**< Ethernet type of encapsulated frame. */
|
||||
} __rte_packed;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user