diff options
Diffstat (limited to 'usr/src/cmd')
| -rw-r--r-- | usr/src/cmd/dladm/dladm.c | 6 | ||||
| -rw-r--r-- | usr/src/cmd/flowadm/flowadm.c | 24 | ||||
| -rw-r--r-- | usr/src/cmd/flowadm/flowadm.xcl | 3 |
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" |
