Revision df30f7408b187929dbde72661c7f7c615268f1d0 authored by pravin shelar on 26 December 2016, 16:31:27 UTC, committed by David S. Miller on 27 December 2016, 17:28:07 UTC
Networking stack accelerate vlan tag handling by
keeping topmost vlan header in skb. This works as
long as packet remains in OVS datapath. But during
OVS upcall vlan header is pushed on to the packet.
When such packet is sent back to OVS datapath, core
networking stack might not handle it correctly. Following
patch avoids this issue by accelerating the vlan tag
during flow key extract. This simplifies datapath by
bringing uniform packet processing for packets from
all code paths.

Fixes: 5108bbaddc ("openvswitch: add processing of L3 packets").
CC: Jarno Rajahalme <jarno@ovn.org>
CC: Jiri Benc <jbenc@redhat.com>
Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 56ab6b9
History
File Mode Size
842
fonts
lz4
lzo
mpi
raid6
reed_solomon
xz
zlib_deflate
zlib_inflate
.gitignore -rw-r--r-- 70 bytes
Kconfig -rw-r--r-- 12.1 KB
Kconfig.debug -rw-r--r-- 68.8 KB
Kconfig.kasan -rw-r--r-- 1.8 KB
Kconfig.kgdb -rw-r--r-- 4.1 KB
Kconfig.kmemcheck -rw-r--r-- 2.9 KB
Kconfig.ubsan -rw-r--r-- 1.5 KB
Makefile -rw-r--r-- 7.3 KB
argv_split.c -rw-r--r-- 2.1 KB
asn1_decoder.c -rw-r--r-- 13.2 KB
assoc_array.c -rw-r--r-- 52.6 KB
atomic64.c -rw-r--r-- 4.8 KB
atomic64_test.c -rw-r--r-- 6.3 KB
audit.c -rw-r--r-- 1.7 KB
bcd.c -rw-r--r-- 261 bytes
bch.c -rw-r--r-- 35.6 KB
bitmap.c -rw-r--r-- 36.3 KB
bitrev.c -rw-r--r-- 1.9 KB
bsearch.c -rw-r--r-- 1.6 KB
btree.c -rw-r--r-- 19.2 KB
bug.c -rw-r--r-- 4.7 KB
build_OID_registry -rwxr-xr-x 4.7 KB
bust_spinlocks.c -rw-r--r-- 660 bytes
chacha20.c -rw-r--r-- 2.6 KB
check_signature.c -rw-r--r-- 599 bytes
checksum.c -rw-r--r-- 5.0 KB
clz_ctz.c -rw-r--r-- 1.3 KB
clz_tab.c -rw-r--r-- 855 bytes
cmdline.c -rw-r--r-- 4.1 KB
compat_audit.c -rw-r--r-- 796 bytes
cordic.c -rw-r--r-- 2.5 KB
cpu-notifier-error-inject.c -rw-r--r-- 1.9 KB
cpu_rmap.c -rw-r--r-- 7.8 KB
cpumask.c -rw-r--r-- 4.6 KB
crc-ccitt.c -rw-r--r-- 3.0 KB
crc-itu-t.c -rw-r--r-- 2.8 KB
crc-t10dif.c -rw-r--r-- 1.6 KB
crc16.c -rw-r--r-- 2.8 KB
crc32.c -rw-r--r-- 45.2 KB
crc32defs.h -rw-r--r-- 2.0 KB
crc7.c -rw-r--r-- 2.6 KB
crc8.c -rw-r--r-- 2.4 KB
ctype.c -rw-r--r-- 1.4 KB
debug_info.c -rw-r--r-- 741 bytes
debug_locks.c -rw-r--r-- 1.2 KB
debugobjects.c -rw-r--r-- 26.9 KB
dec_and_lock.c -rw-r--r-- 784 bytes
decompress.c -rw-r--r-- 1.7 KB
decompress_bunzip2.c -rw-r--r-- 23.5 KB
decompress_inflate.c -rw-r--r-- 4.4 KB
decompress_unlz4.c -rw-r--r-- 4.2 KB
decompress_unlzma.c -rw-r--r-- 15.8 KB
decompress_unlzo.c -rw-r--r-- 7.1 KB
decompress_unxz.c -rw-r--r-- 10.9 KB
devres.c -rw-r--r-- 9.8 KB
digsig.c -rw-r--r-- 5.6 KB
div64.c -rw-r--r-- 4.1 KB
dma-debug.c -rw-r--r-- 43.9 KB
dma-noop.c -rw-r--r-- 1.6 KB
dump_stack.c -rw-r--r-- 1.2 KB
dynamic_debug.c -rw-r--r-- 25.3 KB
dynamic_queue_limits.c -rw-r--r-- 4.3 KB
earlycpio.c -rw-r--r-- 4.0 KB
extable.c -rw-r--r-- 3.1 KB
fault-inject.c -rw-r--r-- 6.0 KB
fdt.c -rw-r--r-- 69 bytes
fdt_empty_tree.c -rw-r--r-- 80 bytes
fdt_ro.c -rw-r--r-- 72 bytes
fdt_rw.c -rw-r--r-- 72 bytes
fdt_strerror.c -rw-r--r-- 78 bytes
fdt_sw.c -rw-r--r-- 72 bytes
fdt_wip.c -rw-r--r-- 73 bytes
find_bit.c -rw-r--r-- 4.5 KB
flex_array.c -rw-r--r-- 11.0 KB
flex_proportions.c -rw-r--r-- 6.9 KB
gcd.c -rw-r--r-- 1.3 KB
gen_crc32table.c -rw-r--r-- 3.2 KB
genalloc.c -rw-r--r-- 21.6 KB
glob.c -rw-r--r-- 7.7 KB
halfmd4.c -rw-r--r-- 2.0 KB
hexdump.c -rw-r--r-- 8.3 KB
hweight.c -rw-r--r-- 2.0 KB
idr.c -rw-r--r-- 28.5 KB
inflate.c -rw-r--r-- 38.6 KB
int_sqrt.c -rw-r--r-- 652 bytes
interval_tree.c -rw-r--r-- 499 bytes
interval_tree_test.c -rw-r--r-- 2.3 KB
iomap.c -rw-r--r-- 6.5 KB
iomap_copy.c -rw-r--r-- 2.8 KB
iommu-common.c -rw-r--r-- 7.0 KB
iommu-helper.c -rw-r--r-- 1.0 KB
ioremap.c -rw-r--r-- 3.4 KB
iov_iter.c -rw-r--r-- 30.8 KB
irq_poll.c -rw-r--r-- 5.4 KB
irq_regs.c -rw-r--r-- 604 bytes
is_single_threaded.c -rw-r--r-- 1.3 KB
jedec_ddr_data.c -rw-r--r-- 3.0 KB
kasprintf.c -rw-r--r-- 1.4 KB
kfifo.c -rw-r--r-- 12.7 KB
klist.c -rw-r--r-- 10.3 KB
kobject.c -rw-r--r-- 26.0 KB
kobject_uevent.c -rw-r--r-- 11.3 KB
kstrtox.c -rw-r--r-- 10.6 KB
kstrtox.h -rw-r--r-- 254 bytes
lcm.c -rw-r--r-- 441 bytes
libcrc32c.c -rw-r--r-- 2.1 KB
list_debug.c -rw-r--r-- 1.7 KB
list_sort.c -rw-r--r-- 6.8 KB
llist.c -rw-r--r-- 3.1 KB
locking-selftest-hardirq.h -rw-r--r-- 207 bytes
locking-selftest-mutex.h -rw-r--r-- 120 bytes
locking-selftest-rlock-hardirq.h -rw-r--r-- 74 bytes
locking-selftest-rlock-softirq.h -rw-r--r-- 74 bytes
locking-selftest-rlock.h -rw-r--r-- 158 bytes
locking-selftest-rsem.h -rw-r--r-- 163 bytes
locking-selftest-softirq.h -rw-r--r-- 207 bytes
locking-selftest-spin-hardirq.h -rw-r--r-- 73 bytes
locking-selftest-spin-softirq.h -rw-r--r-- 73 bytes
locking-selftest-spin.h -rw-r--r-- 118 bytes
locking-selftest-wlock-hardirq.h -rw-r--r-- 74 bytes
locking-selftest-wlock-softirq.h -rw-r--r-- 74 bytes
locking-selftest-wlock.h -rw-r--r-- 158 bytes
locking-selftest-wsem.h -rw-r--r-- 163 bytes
locking-selftest.c -rw-r--r-- 40.1 KB
lockref.c -rw-r--r-- 3.9 KB
lru_cache.c -rw-r--r-- 19.4 KB
md5.c -rw-r--r-- 3.7 KB
memory-notifier-error-inject.c -rw-r--r-- 1.1 KB
memweight.c -rw-r--r-- 999 bytes
net_utils.c -rw-r--r-- 604 bytes
netdev-notifier-error-inject.c -rw-r--r-- 1.5 KB
nlattr.c -rw-r--r-- 15.7 KB
nmi_backtrace.c -rw-r--r-- 2.9 KB
nodemask.c -rw-r--r-- 617 bytes
notifier-error-inject.c -rw-r--r-- 2.7 KB
notifier-error-inject.h -rw-r--r-- 614 bytes
of-reconfig-notifier-error-inject.c -rw-r--r-- 1.3 KB
oid_registry.c -rw-r--r-- 3.8 KB
once.c -rw-r--r-- 1.3 KB
parser.c -rw-r--r-- 8.4 KB
pci_iomap.c -rw-r--r-- 4.2 KB
percpu-refcount.c -rw-r--r-- 11.8 KB
percpu_counter.c -rw-r--r-- 5.5 KB
percpu_ida.c -rw-r--r-- 9.5 KB
percpu_test.c -rw-r--r-- 3.2 KB
plist.c -rw-r--r-- 5.9 KB
pm-notifier-error-inject.c -rw-r--r-- 1.1 KB
radix-tree.c -rw-r--r-- 52.6 KB
random32.c -rw-r--r-- 12.7 KB
ratelimit.c -rw-r--r-- 1.6 KB
rational.c -rw-r--r-- 1.5 KB
rbtree.c -rw-r--r-- 17.3 KB
rbtree_test.c -rw-r--r-- 5.5 KB
reciprocal_div.c -rw-r--r-- 492 bytes
rhashtable.c -rw-r--r-- 24.3 KB
sbitmap.c -rw-r--r-- 7.9 KB
scatterlist.c -rw-r--r-- 18.8 KB
seq_buf.c -rw-r--r-- 7.8 KB
sg_pool.c -rw-r--r-- 3.6 KB
sg_split.c -rw-r--r-- 5.1 KB
sha1.c -rw-r--r-- 6.1 KB
show_mem.c -rw-r--r-- 1.2 KB
smp_processor_id.c -rw-r--r-- 1.3 KB
sort.c -rw-r--r-- 2.9 KB
stackdepot.c -rw-r--r-- 8.5 KB
stmp_device.c -rw-r--r-- 2.1 KB
string.c -rw-r--r-- 20.0 KB
string_helpers.c -rw-r--r-- 13.5 KB
strncpy_from_user.c -rw-r--r-- 3.1 KB
strnlen_user.c -rw-r--r-- 4.3 KB
swiotlb.c -rw-r--r-- 27.3 KB
syscall.c -rw-r--r-- 2.6 KB
test-kstrtox.c -rw-r--r-- 17.3 KB
test-string_helpers.c -rw-r--r-- 10.3 KB
test_bitmap.c -rw-r--r-- 9.0 KB
test_bpf.c -rw-r--r-- 133.8 KB
test_firmware.c -rw-r--r-- 4.3 KB
test_hash.c -rw-r--r-- 6.3 KB
test_hexdump.c -rw-r--r-- 5.7 KB
test_kasan.c -rw-r--r-- 9.1 KB
test_module.c -rw-r--r-- 753 bytes
test_printf.c -rw-r--r-- 12.4 KB
test_rhashtable.c -rw-r--r-- 10.3 KB
test_static_key_base.c -rw-r--r-- 2.0 KB
test_static_keys.c -rw-r--r-- 6.0 KB
test_user_copy.c -rw-r--r-- 3.1 KB
test_uuid.c -rw-r--r-- 3.4 KB
textsearch.c -rw-r--r-- 9.4 KB
timerqueue.c -rw-r--r-- 3.2 KB
ts_bm.c -rw-r--r-- 5.3 KB
ts_fsm.c -rw-r--r-- 10.6 KB
ts_kmp.c -rw-r--r-- 4.3 KB
ubsan.c -rw-r--r-- 10.9 KB
ubsan.h -rw-r--r-- 1.5 KB
ucs2_string.c -rw-r--r-- 2.4 KB
uuid.c -rw-r--r-- 3.1 KB
vsprintf.c -rw-r--r-- 66.6 KB
win_minmax.c -rw-r--r-- 3.3 KB

back to top