The indentation is newly incorrect in the calls to
netdev_bsd_do_ioctl(), the prototype for netdev_bsd_update_flags(),
and the prototype for netdev_vport_update_flags().

In netdev_linux_set_etheraddr(), Do we still need to check if
'netdev_' is NETDEV_UP before turning it off, or can we skip the check
and always call netdev_turn_flags_off()?

It's clear how restore_all_flags() is called in the case that
ovs-vswitchd dies due to a fatal signa.  However, it's not obvious to
me that it's called when ovs-vswitchd exists gracefully (i.e. due to
ovs-appctl exit).  Perhaps I'm missing it?

Out of curiosity, is it that important that we even have this flag
restoring logic?  Is it a big deal if ovs leaves devices in
promiscuous mode when it dies?

Acked-by: Ethan Jackson <et...@nicira.com>





On Fri, May 10, 2013 at 10:26 AM, Ben Pfaff <b...@nicira.com> wrote:
> On Fri, May 10, 2013 at 01:21:11PM -0400, Ed Maste wrote:
>> On 10 May 2013 13:12, Ed Maste <ema...@freebsd.org> wrote:
>> > Ahh, of course.  This fixes the segfaulting tests for me, but the unit
>> > tests now get stuck in "tunnel - input."
>>
>> Oh, and of course the reason ovs-vsctl is stuck is that ovs-vswitchd 
>> segfaulted.
>>
>> #0  0x000000080164b560 in strncpy () from /lib/libc.so.7
>> #1  0x000000000049ee29 in netdev_bsd_do_ioctl (netdev=0x801c231d0,
>> ifr=0x7fffffffc9a0, cmd=3223349521, cmd_name=0x4d3303 "SIOCGIFFLAGS")
>>     at lib/netdev-bsd.c:1480
>> #2  0x000000000049eef2 in get_flags (flags=<optimized out>,
>> netdev=<optimized out>) at lib/netdev-bsd.c:1389
>> #3  netdev_bsd_update_flags (netdev=0x7fffffffc9a0, off=0, on=0,
>> old_flagsp=0x7fffffffca24) at lib/netdev-bsd.c:1230
>> #4  0x000000000044f527 in do_update_flags (netdev=0x801c22310, off=0,
>> on=0, old_flagsp=0x7fffffffca6c, sfp=0x0) at lib/netdev.c:816
>> #5  0x00000000004a03ea in netdev_bsd_open_system
>> (netdev_dev_=0x801c231d0, netdevp=0x7fffffffcad8) at
>> lib/netdev-bsd.c:412
>> #6  0x000000000044fa19 in netdev_open (name=0x70e2d0 "alc0",
>> type=0x4a9d1f "system", netdevp=0x7fffffffcad8) at lib/netdev.c:241
>> #7  0x000000000044d366 in tunnel_get_status (netdev=<optimized out>,
>> smap=0x7fffffffcb20) at lib/netdev-vport.c:226
>> #8  0x0000000000406bf9 in iface_refresh_status (iface=0x801c25220) at
>> vswitchd/bridge.c:1799
>> #9  0x0000000000408f3b in iface_create (br=0x801cbf100,
>> if_cfg=0x801c221c0, ofp_port=3) at vswitchd/bridge.c:1520
>> #10 0x0000000000409335 in bridge_reconfigure_ofp () at vswitchd/bridge.c:568
>> #11 0x000000000040941e in bridge_reconfigure_continue
>> (ovs_cfg=0x801c1d280) at vswitchd/bridge.c:589
>> #12 0x000000000040c85e in bridge_run () at vswitchd/bridge.c:2374
>> #13 0x000000000040dcfa in main (argc=<optimized out>, argv=<optimized
>> out>) at vswitchd/ovs-vswitchd.c:125
>> (gdb) frame 0
>>
>> I'm taking a look at it, just wanted to reply because my previous
>> email is clearly lacking sufficient detail.
>
> Thanks for looking into it.  I did compile the FreeBSD version of this
> patch series at some point in development but obviously I didn't focus
> on it.
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to