Hi,all

I get this problem with latest(dbd8112) branch-2.7 code on my Ubuntu.
root@ubuntu:/var/log/# ovs-vsctl show
adf2ea99-0c53-4180-914f-7dadaa71302b
    Bridge test
        Port test
            Interface test
                type: internal
    Bridge "manage"
        Port "manage"
            Interface "manage"
                type: internal
                error: "could not open network device manage (File exists)"
        Port "veth0"
            Interface "veth0"
        Port "eth0"
            Interface "eth0"
    ovs_version: "2.7.0"

How to reproduce:
1. add bridge "manage", up and add ip on it
2. restart ovs-vswitchd
3. "ovs-vsctl show" displays error message.

The reason:
In following "netdev_open" call on ovs-vswitchd start, input "type" is NULL
and "manage" is opened as a "system" netdev_class iface incorrectly.

#0  netdev_open (name=0x7fffffffe2bc "manage", type=0x0,
netdevp=0x7fffffffc3b0) at ../lib/netdev.c:396
#1  0x000000000052c492 in get_src_addr (ip6_dst=0x7fffffffe2ac,
output_bridge=0x7fffffffe2bc "manage", psrc=0x8f3490) at
../lib/ovs-router.c:141
#2  0x000000000052c85d in ovs_router_insert__ (priority=104 'h',
ip6_dst=0x7fffffffe29c, plen=104 'h', output_bridge=0x7fffffffe2bc
"manage", gw=0x7fffffffe2ac) at ../lib/ovs-router.c:202
#3  0x000000000052c980 in ovs_router_insert (ip_dst=0x7fffffffe29c,
plen=104 'h', output_bridge=0x7fffffffe2bc "manage", gw=0x7fffffffe2ac) at
../lib/ovs-router.c:228
#4  0x000000000058f63a in route_table_handle_msg (change=0x7fffffffe290) at
../lib/route-table.c:295
#5  0x000000000058f1da in route_table_reset () at ../lib/route-table.c:174
#6  0x000000000058f034 in route_table_init () at ../lib/route-table.c:110
#7  0x0000000000495838 in dp_initialize () at ../lib/dpif.c:126
#8  0x0000000000495b40 in dp_enumerate_types (types=0x7fffffffe3a0) at
../lib/dpif.c:244
#9  0x000000000042eb1c in enumerate_types (types=0x7fffffffe3a0) at
../ofproto/ofproto-dpif.c:267
#10 0x000000000041b81c in ofproto_enumerate_types (types=0x7fffffffe3a0) at
../ofproto/ofproto.c:432
#11 0x000000000040df1e in bridge_run__ () at ../vswitchd/bridge.c:3020
#12 0x000000000040e196 in bridge_run () at ../vswitchd/bridge.c:3082
#13 0x00000000004138ef in main (argc=1, argv=0x7fffffffe578) at
../vswitchd/ovs-vswitchd.c:119

After then, ovs fails to netdev_open "manage" with type == "internal".
"File exists" error is reported.
I think commit d3b8f50(netdev: Fix netdev_open() to adhere to class type if
given) introduces this problem. It need be improved.


Best wishes
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to