diff options
| author | 2019-10-31 15:51:21 +0100 | |
|---|---|---|
| committer | 2019-11-13 10:41:34 +0100 | |
| commit | f41f72d09ee1e9a980a1675be31120f547f2a648 (patch) | |
| tree | 17f8e0e4e81b4657b5082a063f3abad9686b17cb /include | |
| parent | netfilter: nft_meta: offload support for interface index (diff) | |
netfilter: nft_payload: simplify vlan header handling
If the offset is within the ethernet + vlan header size boundary, then
rebuild the ethernet + vlan header and use it to copy the bytes to the
register. Otherwise, subtract the vlan header size from the offset and
fall back to use skb_copy_bits().
There is one corner case though: If the offset plus the length of the
payload instruction goes over the ethernet + vlan header boundary, then,
fetch as many bytes as possible from the rebuilt ethernet + vlan header
and fall back to copy the remaining bytes through skb_copy_bits().
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
