From: Denis Ovsienko Date: Thu, 1 Oct 2020 15:36:45 +0000 (+0100) Subject: OpenFlow: Use bittok2str(), fix OF1.0 port status. X-Git-Tag: tcpdump-4.99-bp~165 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/3b46f347ca330d3a063aeede8e96e00265dfaab6 OpenFlow: Use bittok2str(), fix OF1.0 port status. of_bitmap_print() used to have its own bitmap printing code, which would yield a single closing parenthesis when none of the assigned tokens matched (that was a bug, althought not triggered by any of the existing tests). Simplify the function to use bittok2str() instead, then observe some changes in OpenFlow 1.0 tests output. Apparently, the old code implemented "match any" for multiple-bit tokens, and bittok2str() now implements "match all". However, in that protocol encoding bitmap tokens are always single-bit, so examine the OFPPS_ props closer and realize that the "state" field of the physical port structure includes both a tiny bitmap and a tiny code point. Leave comments to clarify that, update the props and the printing code. Update output for four tests. --- diff --git a/print-openflow-1.0.c b/print-openflow-1.0.c index 92b20eb3..dd42866a 100644 --- a/print-openflow-1.0.c +++ b/print-openflow-1.0.c @@ -144,14 +144,18 @@ static const struct tok ofppc_bm[] = { OFPPC_NO_RECV_STP | OFPPC_NO_FLOOD | OFPPC_NO_FWD | \ OFPPC_NO_PACKET_IN)) -#define OFPPS_LINK_DOWN (1U << 0) -#define OFPPS_STP_LISTEN (0U << 8) -#define OFPPS_STP_LEARN (1U << 8) -#define OFPPS_STP_FORWARD (2U << 8) -#define OFPPS_STP_BLOCK (3U << 8) -#define OFPPS_STP_MASK (3U << 8) -static const struct tok ofpps_bm[] = { - { OFPPS_LINK_DOWN, "LINK_DOWN" }, +/* + * [OF10] lists all FPPS_ constants in one enum, but they mean a 1-bit bitmap + * in the least significant octet and a 2-bit code point in the next octet. + * Remember to mix or to separate these two parts as the context requires. + */ +#define OFPPS_LINK_DOWN (1U << 0) /* bitmap */ +#define OFPPS_STP_LISTEN (0U << 8) /* code point */ +#define OFPPS_STP_LEARN (1U << 8) /* code point */ +#define OFPPS_STP_FORWARD (2U << 8) /* code point */ +#define OFPPS_STP_BLOCK (3U << 8) /* code point */ +#define OFPPS_STP_MASK (3U << 8) /* code point bitmask */ +static const struct tok ofpps_stp_str[] = { { OFPPS_STP_LISTEN, "STP_LISTEN" }, { OFPPS_STP_LEARN, "STP_LEARN" }, { OFPPS_STP_FORWARD, "STP_FORWARD" }, @@ -1058,6 +1062,8 @@ of10_phy_ports_print(netdissect_options *ndo, const u_char *cp, u_int len) { while (len) { + uint32_t state; + if (len < OF_PHY_PORT_FIXLEN) goto invalid; /* port_no */ @@ -1082,8 +1088,16 @@ of10_phy_ports_print(netdissect_options *ndo, of_bitmap_print(ndo, ofppc_bm, GET_BE_U_4(cp), OFPPC_U); OF_FWD(4); /* state */ - ND_PRINT("\n\t state 0x%08x", GET_BE_U_4(cp)); - of_bitmap_print(ndo, ofpps_bm, GET_BE_U_4(cp), OFPPS_U); + state = GET_BE_U_4(cp); + /* + * Decode the code point and the single bit separately, but + * format the result as a single sequence of comma-separated + * strings (see the comments at the OFPPS_ props). + */ + ND_PRINT("\n\t state 0x%08x (%s%s)%s", state, + tok2str(ofpps_stp_str, "", state & OFPPS_STP_MASK), + state & OFPPS_LINK_DOWN ? ", LINK_DOWN" : "", + state & OFPPS_U ? " (bogus)" : ""); OF_FWD(4); /* curr */ ND_PRINT("\n\t curr 0x%08x", GET_BE_U_4(cp)); diff --git a/print-openflow.c b/print-openflow.c index 73c783d3..5b9b7614 100644 --- a/print-openflow.c +++ b/print-openflow.c @@ -76,20 +76,14 @@ of_vendor_name(const uint32_t vendor) void of_bitmap_print(netdissect_options *ndo, - const struct tok *t, const uint32_t v, const uint32_t u) + const struct tok *t, const uint32_t v, const uint32_t u) { - const char *sep = " ("; - - if (v == 0) - return; - /* assigned bits */ - for (; t->s != NULL; t++) - if (v & t->v) { - ND_PRINT("%s%s", sep, t->s); - sep = ", "; - } - /* unassigned bits? */ - ND_PRINT((v & u) ? ") (bogus)" : ")"); + /* Assigned bits? */ + if (v & ~u) + ND_PRINT(" (%s)", bittok2str(t, "", v)); + /* Unassigned bits? */ + if (v & u) + ND_PRINT(" (bogus)"); } void diff --git a/tests/of10_7050sx_bsn-vv.out b/tests/of10_7050sx_bsn-vv.out index 7f8c25fa..8a2c1aad 100644 --- a/tests/of10_7050sx_bsn-vv.out +++ b/tests/of10_7050sx_bsn-vv.out @@ -31,56 +31,56 @@ actions 0x00000905 (OUTPUT, SET_VLAN_PCP, SET_NW_TOS, ENQUEUE) port_no 16, hw_addr 00:1c:73:7d:28:1f, name 'Ethernet16' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 20, hw_addr 00:1c:73:7d:28:23, name 'Ethernet20' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 18, hw_addr 00:1c:73:7d:28:21, name 'Ethernet18' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 22, hw_addr 00:1c:73:7d:28:25, name 'Ethernet22' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 17, hw_addr 00:1c:73:7d:28:20, name 'Ethernet17' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000cc0 (10GB_FD, COPPER, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 21, hw_addr 00:1c:73:7d:28:24, name 'Ethernet21' config 0x80000001 (PORT_DOWN) (bogus) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000cc0 (10GB_FD, COPPER, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 19, hw_addr 00:1c:73:7d:28:22, name 'Ethernet19' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 23, hw_addr 00:1c:73:7d:28:26, name 'Ethernet23' config 0x80000001 (PORT_DOWN) (bogus) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) @@ -150,56 +150,56 @@ actions 0x00000905 (OUTPUT, SET_VLAN_PCP, SET_NW_TOS, ENQUEUE) port_no 16, hw_addr 00:1c:73:7d:28:1f, name 'Ethernet16' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 20, hw_addr 00:1c:73:7d:28:23, name 'Ethernet20' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 18, hw_addr 00:1c:73:7d:28:21, name 'Ethernet18' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 22, hw_addr 00:1c:73:7d:28:25, name 'Ethernet22' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 17, hw_addr 00:1c:73:7d:28:20, name 'Ethernet17' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000cc0 (10GB_FD, COPPER, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 21, hw_addr 00:1c:73:7d:28:24, name 'Ethernet21' config 0x80000001 (PORT_DOWN) (bogus) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000cc0 (10GB_FD, COPPER, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 19, hw_addr 00:1c:73:7d:28:22, name 'Ethernet19' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 23, hw_addr 00:1c:73:7d:28:26, name 'Ethernet23' config 0x80000001 (PORT_DOWN) (bogus) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000040 (10GB_FD) advertised 0x00000000 supported 0x00000c40 (10GB_FD, PAUSE, PAUSE_ASYM) diff --git a/tests/of10_p3295-vv.out b/tests/of10_p3295-vv.out index 6e3dc91c..05283022 100644 --- a/tests/of10_p3295-vv.out +++ b/tests/of10_p3295-vv.out @@ -27,371 +27,371 @@ actions 0x0000003f (OUTPUT, SET_VLAN_VID, SET_VLAN_PCP, STRIP_VLAN, SET_DL_SRC, SET_DL_DST) port_no 42, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/42' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 33, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/33' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 36, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/36' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 31, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/31' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 48, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/48' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 40, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/40' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 1, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/1' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 28, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/28' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 20, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/20' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 10, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/10' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 22, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/22' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 29, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/29' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 44, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/44' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 41, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/41' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 21, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/21' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 16, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/16' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 45, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/45' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 49, hw_addr 08:9e:01:62:d5:f4, name 'te-1/1/49' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x00000020 (1GB_FD) supported 0x00000e60 (1GB_FD, 10GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 38, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/38' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 17, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/17' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 27, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/27' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 51, hw_addr 08:9e:01:62:d5:f4, name 'te-1/1/51' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x00000020 (1GB_FD) supported 0x00000e60 (1GB_FD, 10GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 46, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/46' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 6, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/6' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 50, hw_addr 08:9e:01:62:d5:f4, name 'te-1/1/50' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x00000020 (1GB_FD) supported 0x00000e60 (1GB_FD, 10GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 43, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/43' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 35, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/35' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 19, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/19' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 47, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/47' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 23, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/23' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 25, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/25' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 37, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/37' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 7, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/7' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 26, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/26' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 32, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/32' config 0x00000020 (NO_FWD) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 4, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/4' config 0x00000000 - state 0x00000000 + state 0x00000000 (STP_LISTEN) curr 0x00000020 (1GB_FD) advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) port_no 3, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/3' config 0x00000000 - state 0x00000000 + state 0x00000000 (STP_LISTEN) curr 0x00000020 (1GB_FD) advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) port_no 18, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/18' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 39, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/39' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 8, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/8' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 2, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/2' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 14, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/14' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 5, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/5' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 30, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/30' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 11, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/11' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 15, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/15' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 52, hw_addr 08:9e:01:62:d5:f4, name 'te-1/1/52' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x00000020 (1GB_FD) supported 0x00000e60 (1GB_FD, 10GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 34, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/34' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 13, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/13' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 12, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/12' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 24, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/24' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no 9, hw_addr 08:9e:01:62:d5:f4, name 'ge-1/1/9' config 0x00000000 - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000000 advertised 0x0000042f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, PAUSE) supported 0x00000e2f (10MB_HD, 10MB_FD, 100MB_HD, 100MB_FD, 1GB_FD, AUTONEG, PAUSE, PAUSE_ASYM) peer 0x00000000 port_no LOCAL, hw_addr 08:9e:01:62:d5:f4, name 'br0' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000082 (10MB_FD, COPPER) advertised 0x00000000 supported 0x00000000 diff --git a/tests/of10_pf5240-vv.out b/tests/of10_pf5240-vv.out index fd0738dc..91a1b571 100644 --- a/tests/of10_pf5240-vv.out +++ b/tests/of10_pf5240-vv.out @@ -29,56 +29,56 @@ actions 0x00000fff (OUTPUT, SET_VLAN_VID, SET_VLAN_PCP, STRIP_VLAN, SET_DL_SRC, SET_DL_DST, SET_NW_SRC, SET_NW_DST, SET_NW_TOS, SET_TP_SRC, SET_TP_DST, ENQUEUE) port_no 1, hw_addr 00:25:5c:ab:0c:87, name 'GBE0/1' config 0x00000002 (NO_STP) - state 0x00000200 (STP_FORWARD, STP_BLOCK) + state 0x00000200 (STP_FORWARD) curr 0x000002a0 (1GB_FD, COPPER, AUTONEG) advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 2, hw_addr 00:25:5c:ab:0c:47, name 'GBE0/2' config 0x00000002 (NO_STP) - state 0x00000200 (STP_FORWARD, STP_BLOCK) + state 0x00000200 (STP_FORWARD) curr 0x000002a0 (1GB_FD, COPPER, AUTONEG) advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 3, hw_addr 00:25:5c:ab:0c:c7, name 'GBE0/3' config 0x00000002 (NO_STP) - state 0x00000200 (STP_FORWARD, STP_BLOCK) + state 0x00000200 (STP_FORWARD) curr 0x000002a0 (1GB_FD, COPPER, AUTONEG) advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 4, hw_addr 00:25:5c:ab:0c:27, name 'GBE0/4' config 0x00000002 (NO_STP) - state 0x00000201 (LINK_DOWN, STP_FORWARD, STP_BLOCK) + state 0x00000201 (STP_FORWARD, LINK_DOWN) curr 0x00000000 advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 5, hw_addr 00:25:5c:ab:0c:a7, name 'GBE0/5' config 0x00000002 (NO_STP) - state 0x00000201 (LINK_DOWN, STP_FORWARD, STP_BLOCK) + state 0x00000201 (STP_FORWARD, LINK_DOWN) curr 0x00000000 advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 6, hw_addr 00:25:5c:ab:0c:67, name 'GBE0/6' config 0x00000002 (NO_STP) - state 0x00000201 (LINK_DOWN, STP_FORWARD, STP_BLOCK) + state 0x00000201 (STP_FORWARD, LINK_DOWN) curr 0x00000000 advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 7, hw_addr 00:25:5c:ab:0c:e7, name 'GBE0/7' config 0x00000002 (NO_STP) - state 0x00000201 (LINK_DOWN, STP_FORWARD, STP_BLOCK) + state 0x00000201 (STP_FORWARD, LINK_DOWN) curr 0x00000000 advertised 0x00000000 supported 0x00000000 peer 0x00000000 port_no 8, hw_addr 00:25:5c:ab:0c:17, name 'GBE0/8' config 0x00000002 (NO_STP) - state 0x00000201 (LINK_DOWN, STP_FORWARD, STP_BLOCK) + state 0x00000201 (STP_FORWARD, LINK_DOWN) curr 0x00000000 advertised 0x00000000 supported 0x00000000 diff --git a/tests/of10_s4810-vvvv.out b/tests/of10_s4810-vvvv.out index 8ce8445f..d1bd2885 100644 --- a/tests/of10_s4810-vvvv.out +++ b/tests/of10_s4810-vvvv.out @@ -25,14 +25,14 @@ actions 0x00000137 (OUTPUT, SET_VLAN_VID, SET_VLAN_PCP, SET_DL_SRC, SET_DL_DST, SET_NW_TOS) port_no 1, hw_addr 00:01:e8:8a:e0:e4, name 'Te 0/0' config 0x00000000 - state 0x00000000 + state 0x00000000 (STP_LISTEN) curr 0x00000340 (10GB_FD, FIBER, AUTONEG) advertised 0x00000340 (10GB_FD, FIBER, AUTONEG) supported 0x00000340 (10GB_FD, FIBER, AUTONEG) peer 0x00000000 port_no 2, hw_addr 00:01:e8:8a:e0:e4, name 'Te 0/1' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000300 (FIBER, AUTONEG) advertised 0x00000300 (FIBER, AUTONEG) supported 0x00000300 (FIBER, AUTONEG) @@ -65,14 +65,14 @@ actions 0x00000137 (OUTPUT, SET_VLAN_VID, SET_VLAN_PCP, SET_DL_SRC, SET_DL_DST, SET_NW_TOS) port_no 1, hw_addr 00:01:e8:8a:e0:e4, name 'Te 0/0' config 0x00000000 - state 0x00000000 + state 0x00000000 (STP_LISTEN) curr 0x00000340 (10GB_FD, FIBER, AUTONEG) advertised 0x00000340 (10GB_FD, FIBER, AUTONEG) supported 0x00000340 (10GB_FD, FIBER, AUTONEG) peer 0x00000000 port_no 2, hw_addr 00:01:e8:8a:e0:e4, name 'Te 0/1' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000300 (FIBER, AUTONEG) advertised 0x00000300 (FIBER, AUTONEG) supported 0x00000300 (FIBER, AUTONEG) @@ -1289,14 +1289,14 @@ STP 802.1s, Rapid STP, CIST Flags [Proposal, Learn, Forward, Agreement], length actions 0x00000137 (OUTPUT, SET_VLAN_VID, SET_VLAN_PCP, SET_DL_SRC, SET_DL_DST, SET_NW_TOS) port_no 13, hw_addr 00:01:e8:8a:e0:e4, name 'Te 0/12' config 0x00000001 (PORT_DOWN) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000300 (FIBER, AUTONEG) advertised 0x00000300 (FIBER, AUTONEG) supported 0x00000300 (FIBER, AUTONEG) peer 0x00000000 port_no 16, hw_addr 00:01:e8:8a:e0:e4, name 'Te 0/15' config 0x00008001 (PORT_DOWN) (bogus) - state 0x00000001 (LINK_DOWN) + state 0x00000001 (STP_LISTEN, LINK_DOWN) curr 0x00000300 (FIBER, AUTONEG) advertised 0x00000300 (FIBER, AUTONEG) supported 0x00000300 (FIBER, AUTONEG)