jpirko / libteam

team netdevice library
GNU Lesser General Public License v2.1
231 stars 59 forks source link

teamdctl state view Failed to parse JSON port dump #40

Open stcheng opened 5 years ago

stcheng commented 5 years ago

When I try to run the command teamdctl to dump the state, it shows the error message:

root@device:/home/admin# teamdctl PortChannel0004 state view
setup:
  runner: lacp
ports:
Failed to parse JSON port dump.
command call failed (Invalid argument)

I could dump the JSON information for this port channel. But it seems that one of the port has the wrong state.

root@device:/home/admin# teamdctl PortChannel0004 state dump
{
    "ports": {
        "Ethernet80": {
            "link_watches": {
                "list": {
                    "link_watch_0": {
                        "delay_down": 0,
                        "delay_up": 0,
                        "down_count": 0,
                        "name": "ethtool",
                        "up": true
                    }
                }
            }
        },
        "Ethernet84": {
            "ifinfo": {
                "dev_addr": "00:fe:c8:09:28:e7",
                "dev_addr_len": 6,
                "ifindex": 37,
                "ifname": "Ethernet84"
            },
            "link": {
                "duplex": "half",
                "speed": 0,
                "up": true
            },
            "link_watches": {
                "list": {
                    "link_watch_0": {
                        "delay_down": 0,
                        "delay_up": 0,
                        "down_count": 0,
                        "name": "ethtool",
                        "up": true
                    }
                },
                "up": true
            },
            "runner": {
                "actor_lacpdu_info": {
                    "key": 0,
                    "port": 37,
                    "port_priority": 255,
                    "state": 61,
                    "system": "00:fe:c8:09:28:e7",
                    "system_priority": 65535
                },
                "aggregator": {
                    "id": 37,
                    "selected": true
                },
                "key": 0,
                "partner_lacpdu_info": {
                    "key": 20,
                    "port": 2,
                    "port_priority": 32768,
                    "state": 61,
                    "system": "52:54:00:86:bc:31",
                    "system_priority": 32768
                },
                "prio": 255,
                "selected": true,
                "state": "current"
            }
        }
    },
    "runner": {
        "active": true,
        "fallback": false,
        "fast_rate": false,
        "select_policy": "lacp_prio",
        "sys_prio": 65535
    },
    "setup": {
        "daemonized": true,
        "dbus_enabled": false,
        "debug_level": 0,
        "kernel_team_mode_name": "loadbalance",
        "pid": 77,
        "pid_file": "/var/run/teamd/PortChannel0004.pid",
        "runner_name": "lacp",
        "zmq_enabled": false
    },
    "team_device": {
        "ifinfo": {
            "dev_addr": "00:fe:c8:09:28:e7",
            "dev_addr_len": 6,
            "ifindex": 13,
            "ifname": "PortChannel0004"
        }
    }
}

So I killed this port channel and restart it again and this issue went away.