summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dladm/dladm.c
diff options
context:
space:
mode:
authorYuri Pankov <yuri.pankov@nexenta.com>2016-08-18 17:35:35 +0300
committerRichard Lowe <richlowe@richlowe.net>2016-08-20 13:42:16 -0400
commit09c0accb630678e1a150310a8852806c5052b2ac (patch)
treec9fa7d011bccfbd4281361225300c2868d72fc7a /usr/src/cmd/dladm/dladm.c
parent69f14d1fbc2690fc894c66653f1b371783f23f46 (diff)
downloadillumos-joyent-09c0accb630678e1a150310a8852806c5052b2ac.tar.gz
1769 dladm show-link truncates OVER field
Reviewed by: Richard Lowe <richlowe@richlowe.net> Reviewed by: Dan Vatca <dan@syneto.eu> Approved by: Richard Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src/cmd/dladm/dladm.c')
-rw-r--r--usr/src/cmd/dladm/dladm.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/usr/src/cmd/dladm/dladm.c b/usr/src/cmd/dladm/dladm.c
index 8277d60ac2..d5b3bd0951 100644
--- a/usr/src/cmd/dladm/dladm.c
+++ b/usr/src/cmd/dladm/dladm.c
@@ -18,8 +18,10 @@
*
* CDDL HEADER END
*/
+
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2016 Nexenta Systems, Inc.
*/
#include <stdio.h>
@@ -666,8 +668,8 @@ typedef struct link_fields_buf_s {
char link_class[DLADM_STRSIZE];
char link_mtu[11];
char link_state[DLADM_STRSIZE];
- char link_bridge[MAXLINKNAMELEN];
- char link_over[MAXLINKNAMELEN];
+ char link_bridge[MAXLINKNAMELEN * MAXPORT];
+ char link_over[MAXLINKNAMELEN * MAXPORT];
char link_phys_state[DLADM_STRSIZE];
char link_phys_media[DLADM_STRSIZE];
char link_phys_speed[DLADM_STRSIZE];
@@ -692,7 +694,7 @@ static const ofmt_field_t link_fields[] = {
offsetof(link_fields_buf_t, link_state), print_default_cb},
{ "BRIDGE", 11,
offsetof(link_fields_buf_t, link_bridge), print_default_cb},
-{ "OVER", DLPI_LINKNAME_MAX,
+{ "OVER", 30,
offsetof(link_fields_buf_t, link_over), print_default_cb},
{ NULL, 0, 0, NULL}}
;
@@ -2684,7 +2686,7 @@ print_link_topology(show_state_t *state, datalink_id_t linkid,
(void) strlcat(lbuf->link_over, tmpbuf,
sizeof (lbuf->link_over));
if (i != (ginfo.lg_nports - 1)) {
- (void) strlcat(lbuf->link_over, " ",
+ (void) strlcat(lbuf->link_over, ",",
sizeof (lbuf->link_over));
}
}
@@ -2747,7 +2749,7 @@ print_link_topology(show_state_t *state, datalink_id_t linkid,
(void) strlcat(lbuf->link_over, tmpbuf,
sizeof (lbuf->link_over));
if (i != nports - 1) {
- (void) strlcat(lbuf->link_over, " ",
+ (void) strlcat(lbuf->link_over, ",",
sizeof (lbuf->link_over));
}
}
@@ -3501,6 +3503,9 @@ do_show_link(int argc, char *argv[], const char *use)
}
if (state.ls_parsable)
ofmtflags |= OFMT_PARSABLE;
+ else
+ ofmtflags |= OFMT_WRAP;
+
oferr = ofmt_open(fields_str, link_fields, ofmtflags, 0, &ofmt);
dladm_ofmt_check(oferr, state.ls_parsable, ofmt);
state.ls_ofmt = ofmt;