There have been fixes in this area.  Try the tip of branch-2.10 instead
of the 2.10.0 release.

On Sun, Mar 17, 2019 at 10:31:40AM +0800, 贾乘 wrote:
> It is OVS 2.10 . 
> 
> > 在 2019年3月16日,上午7:12,Ben Pfaff <[email protected]> 写道:
> > 
> > On Tue, Mar 12, 2019 at 08:34:39PM +0800, 贾乘 wrote:
> >> Hi All,
> >> 
> >> This is  my bridge configuration:
> >> 
> >> Bridge br-int
> >>        Controller "tcp:127.0.0.1:6653"
> >>            is_connected: true
> >>        fail_mode: secure
> >>        Port br-int
> >>            Interface br-int
> >>                type: internal
> >>        Port vxlan-vtp
> >>            Interface vxlan-vtp
> >>                type: vxlan
> >>                options: {dst_port="4789", key=flow, 
> >> local_ip="10.23.127.129", remote_ip=flow}
> >>        Port br-ex-patch
> >>            Interface br-ex-patch
> >>                type: patch
> >>                options: {peer=br-int-patch} 
> >> I do something as the following steps:
> >> 1.  Disconnect  the controller 
> >> 2.  Change the vxlan port interface , the local_ip is set to be "flow”.
> >> 
> >> The ovs-vswitchd is crashed, then I got the ovs-vswitchd core dump:
> >> 
> >> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> >> #1  0x00007f855f89542a in __GI_abort () at abort.c:89
> >> #2  0x000055e14c6f7fae in ofputil_protocol_to_ofp_version 
> >> (protocol=<optimized out>) at lib/ofp-protocol.c:123
> >> #3  0x000055e14c6f32ce in ofputil_encode_port_status 
> >> (ps=ps@entry=0x7ffdfceab670, protocol=<optimized out>) at 
> >> lib/ofp-port.c:938
> >> #4  0x000055e14c662dcb in connmgr_send_port_status (mgr=0x55e14da54370, 
> >> source=source@entry=0x0, pp=pp@entry=0x55e14db9af50, reason=reason@entry=2 
> >> '\002')
> >>    at ofproto/connmgr.c:1654
> >> #5  0x000055e14c62bf26 in update_port 
> >> (ofproto=ofproto@entry=0x55e14db778e0, name=name@entry=0x55e14dbe01a0 
> >> "vxlan-vtp") at ofproto/ofproto.c:2652
> >> #6  0x000055e14c62c477 in ofproto_run (p=0x55e14db778e0) at 
> >> ofproto/ofproto.c:1818
> >> #7  0x000055e14c61a8bc in bridge_run__ () at vswitchd/bridge.c:2944
> >> #8  0x000055e14c61bc71 in bridge_reconfigure 
> >> (ovs_cfg=ovs_cfg@entry=0x55e14da5ab10) at vswitchd/bridge.c:721
> >> #9  0x000055e14c61fba9 in bridge_run () at vswitchd/bridge.c:3023
> >> #10 0x000055e14c2bdbdd in main (argc=<optimized out>, argv=<optimized 
> >> out>) at vswitchd/ovs-vswitchd.c:125
> >> 
> >> 
> >> From the code ,  the function connmgr_send_port_status try to send the 
> >> message of the port status update to every controller connection, but 
> >> since I disconnect the controller , the rconn state is S_BACKOFF.  So 
> >> based on the function 
> >> ofconn_get_protocol, the protocol will be OFPUTIL_P_NONE. When calling 
> >> ofputil_encode_port_status with none protocol, the ovs-vswitchd is crashed.
> >> 
> >> connmgr_send_port_status. —>  ofconn_get_protocol (conn disconnected, it 
> >> return none protocol)
> >>                                             —> ofputil_encode_port_status. 
> >> (With None protocol , ovs-vswitchd crash)
> >> 
> >> 
> >> So I suggest to check if the protocol is null before calling 
> >> ofputil_encode_port_status.
> > 
> > Thanks for the report.
> > 
> > What version of OVS are you testing?
> 
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to