[ovs-dev] [PATCH v3] netdev-vport: Use the dst_port in tunnel netdev name

Ben Pfaff blp at ovn.org
Fri Apr 12 17:37:58 UTC 2019


On Mon, Apr 01, 2019 at 08:37:23AM -0400, Chris Mi wrote:
> If tunnel device dst_port is not the default one, "ovs-dpctl dump-flows"
> will fail. The error message for vxlan is:
> 
> netdev_linux|INFO|ioctl(SIOCGIFINDEX) on vxlan_sys_4789 device failed: No such device
> 
> That's because when calling netdev_vport_construct() for netdev
> vxlan_sys_xxxx, the default dst_port is used. Actually, the dst_port
> value is in the netdev name. Use it to avoid the error.
> 
> Signed-off-by: Chris Mi <chrism at mellanox.com>
> Reviewed-by: Roi Dayan <roid at mellanox.com>

Thanks for the bug fix.

This makes lots of tests fail.  Here's a typical Address Sanitizer
report:

=================================================================
==17273==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f59d4295571 bp 0x7ffd20ad0cf0 sp 0x7ffd20ad0478 T0)
==17273==The signal is caused by a READ memory access.
==17273==Hint: address points to the zero page.
    #0 0x7f59d4295570  (/lib/x86_64-linux-gnu/libc.so.6+0x15c570)
    #1 0x7f59d49ba3bc  (/lib/x86_64-linux-gnu/libasan.so.5+0xa83bc)
    #2 0x555e5c332bc0 in netdev_vport_construct ../lib/netdev-vport.c:202
    #3 0x555e5c3366fc in netdev_open ../lib/netdev.c:426
    #4 0x555e5c161916 in iface_do_create ../vswitchd/bridge.c:1789
    #5 0x555e5c161916 in iface_create ../vswitchd/bridge.c:1842
    #6 0x555e5c161916 in bridge_add_ports__ ../vswitchd/bridge.c:936
    #7 0x555e5c16e656 in bridge_add_ports ../vswitchd/bridge.c:952
    #8 0x555e5c16e656 in bridge_reconfigure ../vswitchd/bridge.c:666
    #9 0x555e5c17584e in bridge_run ../vswitchd/bridge.c:3037
    #10 0x555e5c157534 in main ../vswitchd/ovs-vswitchd.c:125
    #11 0x7f59d415d09a in __libc_start_main ../csu/libc-start.c:308
    #12 0x555e5c159f79 in _start (/home/blp/nicira/ovs/_build/vswitchd/ovs-vswitchd+0x11af79)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x15c570) 
==17273==ABORTING

Thanks,

Ben.


More information about the dev mailing list