All of lore.kernel.org
 help / color / mirror / Atom feed
* Fw: [Bug 210781] New: Tun.c fails with tc mirror when using bridges
@ 2020-12-20 20:24 Stephen Hemminger
  0 siblings, 0 replies; only message in thread
From: Stephen Hemminger @ 2020-12-20 20:24 UTC (permalink / raw)
  To: netdev



Begin forwarded message:

Date: Fri, 18 Dec 2020 23:24:31 +0000
From: bugzilla-daemon@bugzilla.kernel.org
To: stephen@networkplumber.org
Subject: [Bug 210781] New: Tun.c fails with tc mirror when using bridges


https://bugzilla.kernel.org/show_bug.cgi?id=210781

            Bug ID: 210781
           Summary: Tun.c fails with tc mirror when using bridges
           Product: Networking
           Version: 2.5
    Kernel Version: 5.4.78
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Other
          Assignee: stephen@networkplumber.org
          Reporter: pablo.catalina@gmail.com
        Regression: No

Hi,

I got a kernel panic and after reboot I tried again and I got the following
error:


[17665.950212] u32 classifier
[17665.950247]     input device check on
[17665.950278]     Actions configured
[17665.993688] Mirror/redirect action on
[17673.994202] tun: unexpected GSO type: 0x0, gso_size 289, hdr_len 355
[17673.994242] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17673.994288] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17673.994333] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17673.994378] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17673.994432] ------------[ cut here ]------------
[17673.994479] WARNING: CPU: 7 PID: 4700 at drivers/net/tun.c:2129
tun_do_read+0x535/0x6d0
[17673.994525] Modules linked in: sch_prio act_mirred cls_u32 sch_ingress
iptable_mangle xt_TEE nf_dup_ipv6 nf_dup_ipv4 snd_hda_codec_realtek
snd_hda_codec_generic ledtrig_audio veth nfsv3 rpcsec_gss_krb5 nfsv4 nfs
fscache ebtable_filter ebtables ip6table_raw ip6t_REJECT nf_reject_ipv6
ip6table_filter ip6_tables iptable_raw ipt_REJECT nf_reject_ipv4 xt_NFLOG
xt_set xt_physdev xt_addrtype xt_multiport xt_conntrack xt_mark ip_set_hash_net
ip_set sctp iptable_filter xt_nat xt_tcpudp xt_MASQUERADE xt_comment
iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 bpfilter bonding
zram softdog nfnetlink_log nfnetlink binfmt_misc i915 intel_rapl_msr
intel_rapl_common drm_kms_helper drm x86_pkg_temp_thermal intel_powerclamp
i2c_algo_bit coretemp fb_sys_fops syscopyarea sysfillrect sysimgblt
dm_thin_pool dm_persistent_data dm_bio_prison dm_bufio kvm_intel kvm
snd_hda_intel snd_intel_dspcfg irqbypass snd_hda_codec snd_hda_core
crct10dif_pclmul snd_hwdep crc32_pclmul snd_pcm ghash_clmulni_intel
[17673.994547]  aesni_intel ie31200_edac snd_timer snd crypto_simd eeepc_wmi
cryptd soundcore input_leds glue_helper rapl mac_hid asus_wmi intel_cstate
sparse_keymap serio_raw wmi_bmof vhost_net vhost tap ib_iser nfsd auth_rpcgss
nfs_acl lockd rdma_cm iw_cm ib_cm grace ib_core sunrpc iscsi_tcp libiscsi_tcp
libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 btrfs zstd_compress
raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor
raid6_pq libcrc32c raid1 raid0 multipath linear ahci xhci_pci i2c_i801 libahci
lpc_ich e1000e xhci_hcd ehci_pci ehci_hcd megaraid_sas wmi video
[17673.994984] CPU: 7 PID: 4700 Comm: vhost-4644 Not tainted 5.4.78-2-pve #1
[17673.995022] Hardware name: System manufacturer System Product Name/P8B WS,
BIOS 9922 06/20/2019
[17673.995075] RIP: 0010:tun_do_read+0x535/0x6d0
[17673.995113] Code: 00 00 6a 01 0f b7 45 aa b9 10 00 00 00 48 c7 c6 f4 63 40
8a 48 c7 c7 ff 5c 35 8a 83 f8 40 48 0f 4f c2 31 d2 50 e8 6b c7 d5 ff <0f> 0b 58
5a 49 c7 c4 ea ff ff ff e9 c2 fc ff ff 4c 89 ea be 04 00
[17673.995187] RSP: 0018:ffffac334350bc80 EFLAGS: 00010246
[17673.995224] RAX: 0000000000000000 RBX: ffff992cb1941600 RCX:
0000000000000006
[17673.995263] RDX: 0000000000000000 RSI: 0000000000000096 RDI:
ffff992d1f3d78c0
[17673.995303] RBP: ffffac334350bd08 R08: 0000000000000643 R09:
ffffffff8abb56ec
[17673.995342] R10: 000000000000072e R11: ffffac334350ba08 R12:
000000000000016f
[17673.995381] R13: ffffac334350be30 R14: ffff992b7bd548c0 R15:
0000000000000000
[17673.995421] FS:  0000000000000000(0000) GS:ffff992d1f3c0000(0000)
knlGS:0000000000000000
[17673.996652] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[17673.996688] CR2: 00007f9a5458ad38 CR3: 00000006969bc003 CR4:
00000000001626e0
[17673.996726] Call Trace:
[17673.996763]  tun_recvmsg+0x76/0x110
[17673.996799]  handle_rx+0x5d4/0xa20 [vhost_net]
[17673.996837]  handle_rx_net+0x15/0x20 [vhost_net]
[17673.996873]  vhost_worker+0xba/0x110 [vhost]
[17673.996910]  kthread+0x120/0x140
[17673.996944]  ? log_used.part.45+0x20/0x20 [vhost]
[17673.996980]  ? kthread_park+0x90/0x90
[17673.997015]  ret_from_fork+0x35/0x40
[17673.997049] ---[ end trace dc2c3635b10ec80e ]---
[17674.304983] tun: unexpected GSO type: 0x0, gso_size 91, hdr_len 157
[17674.305024] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17674.305070] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17674.305116] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17674.305161] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17685.611046] device eth0 left promiscuous mode
[17691.890075] device eth0 entered promiscuous mode
[17698.446189] device eth0 entered promiscuous mode
[17734.423198] tun: unexpected GSO type: 0x0, gso_size 497, hdr_len 563
[17734.423240] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17734.423288] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17734.423335] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17734.423382] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17750.949141] tun: unexpected GSO type: 0x0, gso_size 497, hdr_len 563
[17750.949185] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17750.949233] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17750.949284] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
[17750.949334] tun: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................



Now, the environment:

Server using proxmox latest version.
I have ethernet connection, a tap interface using OpenVPN and two Linux
Bridges:
* VMBR0: several KVM VMs and LXC containers
* VMBR3: only one interface of one KVM

I wanted to mirror all the traffic on VMBR0 to VMBR3. THe iptables solution
does not work fine, the traffic appears duplicated or I miss the traffic from
VMBR0 to the TAP0 interface.

I tried to use tc to mirror the traffic using the following script:

#!/bin/sh
sif="vmbr0"
dif="vmbr3"


case "$1" in
        start)
                sif=vmbr0
                dif=vmbr3

                # ingress
                tc qdisc add dev "$sif" ingress
                tc filter add dev "$sif" parent ffff: \
                          protocol all \
                          u32 match u8 0 0 \
                          action mirred egress mirror dev "$dif"

                # egress
                tc qdisc add dev "$sif" handle 1: root prio
                tc filter add dev "$sif" parent 1: \
                          protocol all \
                          u32 match u8 0 0 \
                          action mirred egress mirror dev "$dif"

                ;;
        stop)
                tc qdisc del dev $sif ingress
                tc qdisc del dev $sif root
                ;;
        *)
                echo "usage $0 <start|stop>"
esac


When I start it I got the error above.
If I try to stop it, I get a kernel panic (I don't have access to the console,
so I cannot see the kernel panic).

Cheers,

Pablo

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-21  4:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-20 20:24 Fw: [Bug 210781] New: Tun.c fails with tc mirror when using bridges Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.