Lines 49-55
Link Here
|
49 |
|
49 |
|
50 |
static void printit(const struct ifmibdata *, const char *); |
50 |
static void printit(const struct ifmibdata *, const char *); |
51 |
static const char *iftype(int); |
51 |
static const char *iftype(int); |
52 |
static const char *ifphys(int, int); |
52 |
static const char *ifphys(int); |
53 |
static int isit(int, char **, const char *); |
53 |
static int isit(int, char **, const char *); |
54 |
static printfcn findlink(int); |
54 |
static printfcn findlink(int); |
55 |
|
55 |
|
Lines 132-146
Link Here
|
132 |
if (dolink && (pf = findlink(ifmd.ifmd_data.ifi_type))) { |
132 |
if (dolink && (pf = findlink(ifmd.ifmd_data.ifi_type))) { |
133 |
name[5] = IFDATA_LINKSPECIFIC; |
133 |
name[5] = IFDATA_LINKSPECIFIC; |
134 |
if (sysctl(name, 6, 0, &linkmiblen, 0, 0) < 0) |
134 |
if (sysctl(name, 6, 0, &linkmiblen, 0, 0) < 0) |
135 |
err(EX_OSERR, |
135 |
err(EX_OSERR, |
136 |
"sysctl(net.link.ifdata.%d.linkspec) size", |
136 |
"sysctl(net.link.ifdata.%d.linkspec) size", |
137 |
i); |
137 |
i); |
138 |
linkmib = malloc(linkmiblen); |
138 |
linkmib = malloc(linkmiblen); |
139 |
if (!linkmib) |
139 |
if (!linkmib) |
140 |
err(EX_OSERR, "malloc(%lu)", |
140 |
err(EX_OSERR, "malloc(%lu)", |
141 |
(u_long)linkmiblen); |
141 |
(u_long)linkmiblen); |
142 |
if (sysctl(name, 6, linkmib, &linkmiblen, 0, 0) < 0) |
142 |
if (sysctl(name, 6, linkmib, &linkmiblen, 0, 0) < 0) |
143 |
err(EX_OSERR, |
143 |
err(EX_OSERR, |
144 |
"sysctl(net.link.ifdata.%d.linkspec)", |
144 |
"sysctl(net.link.ifdata.%d.linkspec)", |
145 |
i); |
145 |
i); |
146 |
pf(linkmib, linkmiblen); |
146 |
pf(linkmib, linkmiblen); |
Lines 165-179
Link Here
|
165 |
printf("\tsend queue max length: %d\n", ifmd->ifmd_snd_maxlen); |
165 |
printf("\tsend queue max length: %d\n", ifmd->ifmd_snd_maxlen); |
166 |
printf("\tsend queue drops: %d\n", ifmd->ifmd_snd_drops); |
166 |
printf("\tsend queue drops: %d\n", ifmd->ifmd_snd_drops); |
167 |
printf("\ttype: %s\n", iftype(ifmd->ifmd_data.ifi_type)); |
167 |
printf("\ttype: %s\n", iftype(ifmd->ifmd_data.ifi_type)); |
168 |
printf("\tphysical: %s\n", ifphys(ifmd->ifmd_data.ifi_type, |
168 |
printf("\tphysical: %s\n", ifphys(ifmd->ifmd_data.ifi_physical)); |
169 |
ifmd->ifmd_data.ifi_physical)); |
|
|
170 |
printf("\taddress length: %d\n", ifmd->ifmd_data.ifi_addrlen); |
169 |
printf("\taddress length: %d\n", ifmd->ifmd_data.ifi_addrlen); |
171 |
printf("\theader length: %d\n", ifmd->ifmd_data.ifi_hdrlen); |
170 |
printf("\theader length: %d\n", ifmd->ifmd_data.ifi_hdrlen); |
172 |
printf("\tlink state: %u\n", ifmd->ifmd_data.ifi_link_state); |
171 |
printf("\tlink state: %u\n", ifmd->ifmd_data.ifi_link_state); |
173 |
printf("\tvhid: %u\n", ifmd->ifmd_data.ifi_vhid); |
172 |
printf("\tvhid: %u\n", ifmd->ifmd_data.ifi_vhid); |
174 |
printf("\tdatalen: %u\n", ifmd->ifmd_data.ifi_datalen); |
173 |
printf("\tdatalen: %u\n", ifmd->ifmd_data.ifi_datalen); |
175 |
printf("\tmtu: %lu\n", ifmd->ifmd_data.ifi_mtu); |
174 |
printf("\tmtu: %u\n", ifmd->ifmd_data.ifi_mtu); |
176 |
printf("\tmetric: %lu\n", ifmd->ifmd_data.ifi_metric); |
175 |
printf("\tmetric: %u\n", ifmd->ifmd_data.ifi_metric); |
177 |
printf("\tline rate: %lu bit/s\n", ifmd->ifmd_data.ifi_baudrate); |
176 |
printf("\tline rate: %lu bit/s\n", ifmd->ifmd_data.ifi_baudrate); |
178 |
printf("\tpackets received: %lu\n", ifmd->ifmd_data.ifi_ipackets); |
177 |
printf("\tpackets received: %lu\n", ifmd->ifmd_data.ifi_ipackets); |
179 |
printf("\tinput errors: %lu\n", ifmd->ifmd_data.ifi_ierrors); |
178 |
printf("\tinput errors: %lu\n", ifmd->ifmd_data.ifi_ierrors); |
Lines 185-191
Link Here
|
185 |
printf("\tmulticasts received: %lu\n", ifmd->ifmd_data.ifi_imcasts); |
184 |
printf("\tmulticasts received: %lu\n", ifmd->ifmd_data.ifi_imcasts); |
186 |
printf("\tmulticasts transmitted: %lu\n", ifmd->ifmd_data.ifi_omcasts); |
185 |
printf("\tmulticasts transmitted: %lu\n", ifmd->ifmd_data.ifi_omcasts); |
187 |
printf("\tinput queue drops: %lu\n", ifmd->ifmd_data.ifi_iqdrops); |
186 |
printf("\tinput queue drops: %lu\n", ifmd->ifmd_data.ifi_iqdrops); |
188 |
printf("\tpackets for unknown protocol: %lu\n", |
187 |
printf("\tpackets for unknown protocol: %lu\n", |
189 |
ifmd->ifmd_data.ifi_noproto); |
188 |
ifmd->ifmd_data.ifi_noproto); |
190 |
printf("\tHW offload capabilities: 0x%lx\n", |
189 |
printf("\tHW offload capabilities: 0x%lx\n", |
191 |
ifmd->ifmd_data.ifi_hwassist); |
190 |
ifmd->ifmd_data.ifi_hwassist); |
Lines 258-264
Link Here
|
258 |
"IPv6-to-IPv4 TCP relay capturing interface", |
257 |
"IPv6-to-IPv4 TCP relay capturing interface", |
259 |
"6to4 tunnel interface" |
258 |
"6to4 tunnel interface" |
260 |
}; |
259 |
}; |
261 |
#define NIFTYPES ((sizeof if_types)/(sizeof if_types[0])) |
260 |
#define NIFTYPES (int)((sizeof if_types)/(sizeof if_types[0])) |
262 |
|
261 |
|
263 |
static const char * |
262 |
static const char * |
264 |
iftype(int type) |
263 |
iftype(int type) |
Lines 274-280
Link Here
|
274 |
} |
273 |
} |
275 |
|
274 |
|
276 |
static const char * |
275 |
static const char * |
277 |
ifphys(int type, int phys) |
276 |
ifphys(int phys) |
278 |
{ |
277 |
{ |
279 |
static char buf[256]; |
278 |
static char buf[256]; |
280 |
|
279 |
|