summaryrefslogtreecommitdiff
path: root/usr/src/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd')
-rw-r--r--usr/src/cmd/dladm/dladm.c6
-rw-r--r--usr/src/cmd/flowadm/flowadm.c24
-rw-r--r--usr/src/cmd/flowadm/flowadm.xcl3
3 files changed, 24 insertions, 9 deletions
diff --git a/usr/src/cmd/dladm/dladm.c b/usr/src/cmd/dladm/dladm.c
index 1a7e8f0f42..af1275076f 100644
--- a/usr/src/cmd/dladm/dladm.c
+++ b/usr/src/cmd/dladm/dladm.c
@@ -891,7 +891,7 @@ static const ofmt_field_t linkprop_fields[] = {
{ "PERM", 5, LINKPROP_PERM, print_linkprop_cb},
{ "VALUE", 15, LINKPROP_VALUE, print_linkprop_cb},
{ "DEFAULT", 15, LINKPROP_DEFAULT, print_linkprop_cb},
-{ "POSSIBLE", 21, LINKPROP_POSSIBLE, print_linkprop_cb},
+{ "POSSIBLE", 20, LINKPROP_POSSIBLE, print_linkprop_cb},
{ NULL, 0, 0, NULL}}
;
@@ -6286,6 +6286,7 @@ print_linkprop(datalink_id_t linkid, show_linkprop_state_t *statep,
statep->ls_status = DLADM_STATUS_OK;
+ buf[0] = '\0';
ptr = buf;
lim = buf + DLADM_STRSIZE;
for (i = 0; i < valcnt; i++) {
@@ -6493,6 +6494,9 @@ do_show_linkprop(int argc, char **argv, const char *use)
if (state.ls_parsable)
ofmtflags |= OFMT_PARSABLE;
+ else
+ ofmtflags |= OFMT_WRAP;
+
oferr = ofmt_open(fields_str, linkprop_fields, ofmtflags, 0, &ofmt);
dladm_ofmt_check(oferr, state.ls_parsable, ofmt);
state.ls_ofmt = ofmt;
diff --git a/usr/src/cmd/flowadm/flowadm.c b/usr/src/cmd/flowadm/flowadm.c
index d4bd6d5635..2950adcf48 100644
--- a/usr/src/cmd/flowadm/flowadm.c
+++ b/usr/src/cmd/flowadm/flowadm.c
@@ -163,7 +163,8 @@ typedef struct flow_fields_buf_s
char flow_link[MAXLINKNAMELEN];
char flow_ipaddr[INET6_ADDRSTRLEN+4];
char flow_proto[PROTO_MAXSTR_LEN];
- char flow_port[PORT_MAXSTR_LEN];
+ char flow_lport[PORT_MAXSTR_LEN];
+ char flow_rport[PORT_MAXSTR_LEN];
char flow_dsfield[DSFIELD_MAXSTR_LEN];
} flow_fields_buf_t;
@@ -173,12 +174,14 @@ static ofmt_field_t flow_fields[] = {
offsetof(flow_fields_buf_t, flow_name), print_default_cb},
{ "LINK", 12,
offsetof(flow_fields_buf_t, flow_link), print_default_cb},
-{ "IPADDR", 31,
+{ "IPADDR", 25,
offsetof(flow_fields_buf_t, flow_ipaddr), print_default_cb},
{ "PROTO", 7,
offsetof(flow_fields_buf_t, flow_proto), print_default_cb},
-{ "PORT", 8,
- offsetof(flow_fields_buf_t, flow_port), print_default_cb},
+{ "LPORT", 8,
+ offsetof(flow_fields_buf_t, flow_lport), print_default_cb},
+{ "RPORT", 8,
+ offsetof(flow_fields_buf_t, flow_rport), print_default_cb},
{ "DSFLD", 10,
offsetof(flow_fields_buf_t, flow_dsfield), print_default_cb},
NULL_OFMT}
@@ -344,7 +347,8 @@ char *altroot = NULL;
static dladm_handle_t handle = NULL;
static const char *attr_table[] =
- {"local_ip", "remote_ip", "transport", "local_port", "dsfield"};
+ {"local_ip", "remote_ip", "transport", "local_port", "remote_port",
+ "dsfield"};
#define NATTR (sizeof (attr_table)/sizeof (char *))
@@ -909,8 +913,14 @@ print_flow(show_flow_state_t *state, dladm_flow_attr_t *attr,
sizeof (fbuf->flow_ipaddr));
(void) dladm_flow_attr_proto2str(attr, fbuf->flow_proto,
sizeof (fbuf->flow_proto));
- (void) dladm_flow_attr_port2str(attr, fbuf->flow_port,
- sizeof (fbuf->flow_port));
+ if ((attr->fa_flow_desc.fd_mask & FLOW_ULP_PORT_LOCAL) != 0) {
+ (void) dladm_flow_attr_port2str(attr, fbuf->flow_lport,
+ sizeof (fbuf->flow_lport));
+ }
+ if ((attr->fa_flow_desc.fd_mask & FLOW_ULP_PORT_REMOTE) != 0) {
+ (void) dladm_flow_attr_port2str(attr, fbuf->flow_rport,
+ sizeof (fbuf->flow_rport));
+ }
(void) dladm_flow_attr_dsfield2str(attr, fbuf->flow_dsfield,
sizeof (fbuf->flow_dsfield));
diff --git a/usr/src/cmd/flowadm/flowadm.xcl b/usr/src/cmd/flowadm/flowadm.xcl
index 856a788ed6..25e1f4ca4d 100644
--- a/usr/src/cmd/flowadm/flowadm.xcl
+++ b/usr/src/cmd/flowadm/flowadm.xcl
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
@@ -92,6 +92,7 @@ msgid "prop"
msgid "property"
msgid "psSi:l:o:"
msgid "remote_ip"
+msgid "remote_port"
msgid "remove-flow"
msgid "reset"
msgid "reset-flowprop"