[ovs-dev] [PATCH V2] openvswitch-cfg-update: Fix incorrect controller config.

Alex Wang alexw at nicira.com
Wed Mar 11 21:03:45 UTC 2015


Haven't heard from Jason, resend the patch~

On Wed, Mar 11, 2015 at 2:08 PM, Alex Wang <alexw at nicira.com> wrote:

> Commit 032c09ddd10 (XenServer: Don't reset on xe-toolstack-restart)
> introduced a bug which causes the setting of 'ssl::6632' at xenserver
> boot.  Subsequently, at each bridge configuration, ovs will report
> '|socket_util|ERR|:6632: bad IPv4 address ""' due to the empty address.
>
> The exact calltrace is:
>
>  0  parse_sockaddr_components (ss=0xbf8dd87c, host_s=0x94c99f0 "",
>     port_s=0x94c99f1 "6632", default_port=6632, s=0x948b9dc ":6632")
>     at lib/socket-util.c:350
>  1  0x081163b5 in inet_parse_active (target_=0x948b9dc ":6632",
> default_port=
>     6632, ss=0xbf8dd87c) at lib/socket-util.c:412
>  2  0x08119dcf in stream_parse_target_with_default_port (target=0x948b9d8
>     "ssl::6632", default_port=6632, ss=0xbf8dd87c) at lib/stream.c:734
>  3  0x0804c946 in collect_in_band_managers (ovs_cfg=0x94433b0,
>     managersp=0xbf8dd9a8, n_managersp=0xbf8dd9a0) at vswitchd/bridge.c:516
>  4  0x08054b87 in bridge_reconfigure (ovs_cfg=0x94433b0) at
> vswitchd/bridge.c:
>     614
>  5  0x080557cf in bridge_run () at vswitchd/bridge.c:2897
>  6  0x080564aa in main (argc=155674720, argv=0x0) at
> vswitchd/ovs-vswitchd.c:
>     116
>
> This commit fixes the issue.
>
> Signed-off-by: Alex Wang <alexw at nicira.com>
>
> ---
> PATCH->V2:
> - correct the commit log.
> ---
>  .../etc_xapi.d_plugins_openvswitch-cfg-update      |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> index 0668b39..be8b606 100755
> --- a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> +++ b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
> @@ -71,7 +71,8 @@ def update(session, args):
>              pass
>          removeControllerCfg()
>          ret_str += 'Successfully removed controller config.  '
> -    elif controller not in currentControllers:
> +    # controller cannot be empty, otherwise, this will always be True.
> +    elif controller and controller not in currentControllers:
>          delete_cacert()
>          try:
>              emergency_reset(session, None)
> --
> 1.7.9.5
>
>



More information about the dev mailing list