Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iproute2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
iproute2
Commits
3d0b7439
Commit
3d0b7439
authored
Dec 20, 2014
by
Stephen Hemminger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
whitespace cleanup
Remove all trailing whitespace and space before tabs.
parent
b9ea445d
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
69 additions
and
69 deletions
+69
-69
misc/arpd.c
misc/arpd.c
+1
-1
misc/ifstat.c
misc/ifstat.c
+4
-4
misc/lnstat.c
misc/lnstat.c
+4
-4
misc/ss.c
misc/ss.c
+2
-2
tc/f_flow.c
tc/f_flow.c
+4
-4
tc/f_u32.c
tc/f_u32.c
+7
-7
tc/m_ipt.c
tc/m_ipt.c
+1
-1
tc/m_pedit.c
tc/m_pedit.c
+3
-3
tc/m_simple.c
tc/m_simple.c
+19
-19
tc/m_skbedit.c
tc/m_skbedit.c
+1
-1
tc/m_xt.c
tc/m_xt.c
+1
-1
tc/m_xt_old.c
tc/m_xt_old.c
+1
-1
tc/q_choke.c
tc/q_choke.c
+2
-2
tc/q_gred.c
tc/q_gred.c
+2
-2
tc/q_multiq.c
tc/q_multiq.c
+1
-1
tc/q_netem.c
tc/q_netem.c
+2
-2
tc/q_sfq.c
tc/q_sfq.c
+2
-2
tc/tc_class.c
tc/tc_class.c
+4
-4
tc/tc_filter.c
tc/tc_filter.c
+4
-4
tc/tc_qdisc.c
tc/tc_qdisc.c
+4
-4
No files found.
misc/arpd.c
View file @
3d0b7439
...
...
@@ -433,7 +433,7 @@ static void load_initial_table(void)
perror
(
"dump request failed"
);
exit
(
1
);
}
}
static
void
get_kern_msg
(
void
)
...
...
misc/ifstat.c
View file @
3d0b7439
...
...
@@ -270,13 +270,13 @@ static void dump_raw_db(FILE *fp, int to_hist)
eol
,
n
->
name
);
eol
=
",
\n
"
;
for
(
i
=
0
;
i
<
MAXS
&&
stats
[
i
];
i
++
)
fprintf
(
fp
,
"
\"
%s
\"
:%llu"
,
fprintf
(
fp
,
"
\"
%s
\"
:%llu"
,
stats
[
i
],
vals
[
i
]);
fprintf
(
fp
,
"}"
);
}
else
{
fprintf
(
fp
,
"%d %s "
,
n
->
ifindex
,
n
->
name
);
for
(
i
=
0
;
i
<
MAXS
;
i
++
)
fprintf
(
fp
,
"%llu %u "
,
vals
[
i
],
fprintf
(
fp
,
"%llu %u "
,
vals
[
i
],
(
unsigned
)
rates
[
i
]);
fprintf
(
fp
,
"
\n
"
);
}
...
...
@@ -378,11 +378,11 @@ static void print_one_json(FILE *fp, const struct ifstat_ent *n,
{
int
i
,
m
;
const
char
*
sep
=
" "
;
m
=
show_errors
?
20
:
10
;
fprintf
(
fp
,
"
\"
%s
\"
:{"
,
n
->
name
);
for
(
i
=
0
;
i
<
m
&&
stats
[
i
];
i
++
)
{
fprintf
(
fp
,
"%s
\"
%s
\"
:%llu"
,
fprintf
(
fp
,
"%s
\"
%s
\"
:%llu"
,
sep
,
stats
[
i
],
vals
[
i
]);
sep
=
", "
;
}
...
...
misc/lnstat.c
View file @
3d0b7439
...
...
@@ -20,7 +20,7 @@
#define MAX_FIELDS 128
/* Maximum number of header lines */
#define HDR_LINES
10
#define HDR_LINES 10
/* default field width if none specified */
#define FIELD_WIDTH_DEFAULT 8
...
...
@@ -114,7 +114,7 @@ static void print_json(FILE *of, const struct lnstat_file *lnstat_files,
fputs
(
"{
\n
"
,
of
);
for
(
i
=
0
;
i
<
fp
->
num
;
i
++
)
{
const
struct
lnstat_field
*
lf
=
fp
->
params
[
i
].
lf
;
if
(
!
base
||
lf
->
file
->
basename
!=
base
)
{
if
(
base
)
fputs
(
"},
\n
"
,
of
);
base
=
lf
->
file
->
basename
;
...
...
@@ -145,7 +145,7 @@ static int map_field_params(struct lnstat_file *lnstat_files,
if
(
!
fps
->
params
[
j
].
print
.
width
)
fps
->
params
[
j
].
print
.
width
=
FIELD_WIDTH_DEFAULT
;
if
(
++
j
>=
MAX_FIELDS
-
1
)
{
fprintf
(
stderr
,
"WARN: MAX_FIELDS (%d) reached,"
...
...
@@ -305,7 +305,7 @@ int main(int argc, char **argv)
tok
;
tok
=
strtok
(
NULL
,
","
))
{
if
(
fp
.
num
>=
MAX_FIELDS
)
{
fprintf
(
stderr
,
fprintf
(
stderr
,
"WARN: too many keys"
" requested: (%d max)
\n
"
,
MAX_FIELDS
);
...
...
misc/ss.c
View file @
3d0b7439
...
...
@@ -1726,7 +1726,7 @@ static int inet_show_sock(struct nlmsghdr *nlh, struct filter *f, int protocol)
printf
(
" sk:"
);
if
(
r
->
id
.
idiag_cookie
[
1
]
!=
0
)
printf
(
"%08x"
,
r
->
id
.
idiag_cookie
[
1
]);
printf
(
"%08x"
,
r
->
id
.
idiag_cookie
[
0
]);
printf
(
"%08x"
,
r
->
id
.
idiag_cookie
[
0
]);
if
(
tb
[
INET_DIAG_SHUTDOWN
])
{
unsigned
char
mask
;
mask
=
*
(
__u8
*
)
RTA_DATA
(
tb
[
INET_DIAG_SHUTDOWN
]);
...
...
@@ -2743,7 +2743,7 @@ static int packet_show(struct filter *f)
int
uid
;
int
ino
;
unsigned
long
long
sk
;
if
(
preferred_family
!=
AF_PACKET
&&
!
(
f
->
states
&
(
1
<<
SS_CLOSE
)))
return
0
;
...
...
tc/f_flow.c
View file @
3d0b7439
/*
* f_flow.c Flow filter
*
*
This program is free software; you can redistribute it and/or
*
modify it under the terms of the GNU General Public License
*
as published by the Free Software Foundation; either version
*
2 of the License, or (at your option) any later version.
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* Authors: Patrick McHardy <kaber@trash.net>
*/
...
...
tc/f_u32.c
View file @
3d0b7439
...
...
@@ -539,7 +539,7 @@ static int parse_ip(int *argc_p, char ***argv_p, struct tc_u32_sel *sel)
*
argv_p
=
argv
;
return
res
;
}
static
int
parse_ip6
(
int
*
argc_p
,
char
***
argv_p
,
struct
tc_u32_sel
*
sel
)
{
int
res
=
-
1
;
...
...
@@ -732,7 +732,7 @@ static int parse_selector(int *argc_p, char ***argv_p,
}
else
if
(
matches
(
*
argv
,
"ether"
)
==
0
)
{
NEXT_ARG
();
res
=
parse_ether
(
&
argc
,
&
argv
,
sel
);
}
else
}
else
return
-
1
;
*
argc_p
=
argc
;
...
...
@@ -847,7 +847,7 @@ static void print_ipv4(FILE *f, const struct tc_u32_key *key)
case
16
:
{
int
bits
=
mask2bits
(
key
->
mask
);
if
(
bits
>=
0
)
{
fprintf
(
f
,
"
\n
%s %s/%d"
,
fprintf
(
f
,
"
\n
%s %s/%d"
,
key
->
off
==
12
?
"match IP src"
:
"match IP dst"
,
inet_ntop
(
AF_INET
,
&
key
->
val
,
abuf
,
sizeof
(
abuf
)),
...
...
@@ -903,7 +903,7 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key)
case
16
:
{
int
bits
=
mask2bits
(
key
->
mask
);
if
(
bits
>=
0
)
{
fprintf
(
f
,
"
\n
%s %s/%d"
,
fprintf
(
f
,
"
\n
%s %s/%d"
,
key
->
off
==
12
?
"match IP src"
:
"match IP dst"
,
inet_ntop
(
AF_INET
,
&
key
->
val
,
abuf
,
sizeof
(
abuf
)),
...
...
@@ -936,7 +936,7 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key)
static
void
print_raw
(
FILE
*
f
,
const
struct
tc_u32_key
*
key
)
{
fprintf
(
f
,
"
\n
match %08x/%08x at %s%d"
,
fprintf
(
f
,
"
\n
match %08x/%08x at %s%d"
,
(
unsigned
int
)
ntohl
(
key
->
val
),
(
unsigned
int
)
ntohl
(
key
->
mask
),
key
->
offmask
?
"nexthdr+"
:
""
,
...
...
@@ -1152,7 +1152,7 @@ static int u32_parse_opt(struct filter_util *qu, char *handle,
/* We dont necessarily need class/flowids */
if
(
terminal_ok
)
sel
.
sel
.
flags
|=
TC_U32_TERMINAL
;
if
(
order
)
{
if
(
TC_U32_NODE
(
t
->
tcm_handle
)
&&
order
!=
TC_U32_NODE
(
t
->
tcm_handle
))
{
fprintf
(
stderr
,
"
\"
order
\"
contradicts
\"
handle
\"\n
"
);
...
...
@@ -1164,7 +1164,7 @@ static int u32_parse_opt(struct filter_util *qu, char *handle,
if
(
htid
)
addattr_l
(
n
,
MAX_MSG
,
TCA_U32_HASH
,
&
htid
,
4
);
if
(
sel_ok
)
addattr_l
(
n
,
MAX_MSG
,
TCA_U32_SEL
,
&
sel
,
addattr_l
(
n
,
MAX_MSG
,
TCA_U32_SEL
,
&
sel
,
sizeof
(
sel
.
sel
)
+
sel
.
sel
.
nkeys
*
sizeof
(
struct
tc_u32_key
));
tail
->
rta_len
=
(
void
*
)
NLMSG_TAIL
(
n
)
-
(
void
*
)
tail
;
return
0
;
...
...
tc/m_ipt.c
View file @
3d0b7439
/*
* m_ipt.c iptables based targets
*
utilities mostly ripped from iptables <duh, its the linux way>
* utilities mostly ripped from iptables <duh, its the linux way>
*
* This program is free software; you can distribute it and/or
* modify it under the terms of the GNU General Public License
...
...
tc/m_pedit.c
View file @
3d0b7439
...
...
@@ -9,9 +9,9 @@
* Authors: J Hadi Salim (hadi@cyberus.ca)
*
* TODO:
*
1) Big endian broken in some spots
*
2) A lot of this stuff was added on the fly; get a big double-double
*
and clean it up at some point.
* 1) Big endian broken in some spots
* 2) A lot of this stuff was added on the fly; get a big double-double
* and clean it up at some point.
*
*/
...
...
tc/m_simple.c
View file @
3d0b7439
...
...
@@ -9,7 +9,7 @@
* Authors: J Hadi Salim <jhs@mojatatu.com>
*
* Pedagogical example. Adds a string that will be printed every time
* the simple instance is hit.
* the simple instance is hit.
* Use this as a skeleton action and keep modifying it to meet your needs.
* Look at linux/tc_act/tc_defact.h for the different components ids and
* definitions used in this actions
...
...
@@ -26,20 +26,20 @@
*
hadi@noma1:$ tc qdisc add dev eth0 ingress
hadi@noma1:$tc filter add dev eth0 parent ffff: protocol ip prio 5 \
u32 match ip protocol 1 0xff flowid 1:1 action simple "Incoming ICMP"
u32 match ip protocol 1 0xff flowid 1:1 action simple "Incoming ICMP"
hadi@noma1:$ sudo tc -s filter ls dev eth0 parent ffff:
filter protocol ip pref 5 u32
filter protocol ip pref 5 u32 fh 800: ht divisor 1
filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
filter protocol ip pref 5 u32
filter protocol ip pref 5 u32 fh 800: ht divisor 1
filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
match 00010000/00ff0000 at 8
action order 1: Simple <Incoming ICMP>
index 4 ref 1 bind 1 installed 29 sec used 29 sec
Action statistics:
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
action order 1: Simple <Incoming ICMP>
index 4 ref 1 bind 1 installed 29 sec used 29 sec
Action statistics:
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
hadi@noma1$ ping -c 1 www.google.ca
PING www.google.ca (74.125.225.120) 56(84) bytes of data.
64 bytes from ord08s08-in-f24.1e100.net (74.125.225.120): icmp_req=1 ttl=53 time=31.3 ms
...
...
@@ -52,15 +52,15 @@
[135354.473951] simple: Incoming ICMP_1
hadi@noma1$ sudo tc/tc -s filter ls dev eth0 parent ffff:
filter protocol ip pref 5 u32
filter protocol ip pref 5 u32 fh 800: ht divisor 1
filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
filter protocol ip pref 5 u32
filter protocol ip pref 5 u32 fh 800: ht divisor 1
filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
match 00010000/00ff0000 at 8
action order 1: Simple <Incoming ICMP>
index 4 ref 1 bind 1 installed 206 sec used 67 sec
Action statistics:
Sent 84 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
Sent 84 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
*/
#include <stdio.h>
...
...
@@ -82,7 +82,7 @@
static
void
explain
(
void
)
{
fprintf
(
stderr
,
"Usage: ... simple STRING
\n
"
"STRING being an arbitrary string
\n
"
"STRING being an arbitrary string
\n
"
"example:
\"
simple blah
\"\n
"
);
}
...
...
tc/m_skbedit.c
View file @
3d0b7439
...
...
@@ -30,7 +30,7 @@
static
void
explain
(
void
)
{
fprintf
(
stderr
,
"Usage: ... skbedit <[QM] [PM] [MM]>
\n
"
fprintf
(
stderr
,
"Usage: ... skbedit <[QM] [PM] [MM]>
\n
"
"QM = queue_mapping QUEUE_MAPPING
\n
"
"PM = priority PRIORITY
\n
"
"MM = mark MARK
\n
"
...
...
tc/m_xt.c
View file @
3d0b7439
/*
* m_xt.c xtables based targets
*
utilities mostly ripped from iptables <duh, its the linux way>
* utilities mostly ripped from iptables <duh, its the linux way>
*
* This program is free software; you can distribute it and/or
* modify it under the terms of the GNU General Public License
...
...
tc/m_xt_old.c
View file @
3d0b7439
/*
* m_xt.c xtables based targets
*
utilities mostly ripped from iptables <duh, its the linux way>
* utilities mostly ripped from iptables <duh, its the linux way>
*
* This program is free software; you can distribute it and/or
* modify it under the terms of the GNU General Public License
...
...
tc/q_choke.c
View file @
3d0b7439
...
...
@@ -108,11 +108,11 @@ static int choke_parse_opt(struct qdisc_util *qu, int argc, char **argv,
return
-
1
;
}
/* Compute default min/max thresholds based on
/* Compute default min/max thresholds based on
Sally Floyd's recommendations:
http://www.icir.org/floyd/REDparameters.txt
*/
if
(
!
opt
.
qth_max
)
if
(
!
opt
.
qth_max
)
opt
.
qth_max
=
opt
.
limit
/
4
;
if
(
!
opt
.
qth_min
)
opt
.
qth_min
=
opt
.
qth_max
/
3
;
...
...
tc/q_gred.c
View file @
3d0b7439
...
...
@@ -47,7 +47,7 @@ static void explain(void)
"[grio]
\n
"
);
}
static
int
init_gred
(
struct
qdisc_util
*
qu
,
int
argc
,
char
**
argv
,
static
int
init_gred
(
struct
qdisc_util
*
qu
,
int
argc
,
char
**
argv
,
struct
nlmsghdr
*
n
)
{
...
...
@@ -78,7 +78,7 @@ static int init_gred(struct qdisc_util *qu, int argc, char **argv,
return
-
1
;
}
if
(
def_dp
<
0
||
def_dp
>
dps
)
{
fprintf
(
stderr
,
fprintf
(
stderr
,
"
\"
default DP
\"
must be less than %d
\n
"
,
opt
.
DPs
);
return
-
1
;
...
...
tc/q_multiq.c
View file @
3d0b7439
...
...
@@ -18,7 +18,7 @@
* Author: Alexander Duyck <alexander.h.duyck@intel.com>
*
* Original Authors: PJ Waskiewicz, <peter.p.waskiewicz.jr@intel.com> (RR)
*
Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> (from PRIO)
* Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> (from PRIO)
*
*/
...
...
tc/q_netem.c
View file @
3d0b7439
...
...
@@ -505,7 +505,7 @@ static int netem_parse_opt(struct qdisc_util *qu, int argc, char **argv,
fprintf
(
stderr
,
"loss in the weeds!
\n
"
);
return
-
1
;
}
addattr_nest_end
(
n
,
start
);
}
...
...
@@ -584,7 +584,7 @@ static int netem_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
gimodel
=
RTA_DATA
(
lb
[
NETEM_LOSS_GI
]);
if
(
lb
[
NETEM_LOSS_GE
])
gemodel
=
RTA_DATA
(
lb
[
NETEM_LOSS_GE
]);
}
}
if
(
tb
[
TCA_NETEM_RATE
])
{
if
(
RTA_PAYLOAD
(
tb
[
TCA_NETEM_RATE
])
<
sizeof
(
*
rate
))
return
-
1
;
...
...
tc/q_sfq.c
View file @
3d0b7439
...
...
@@ -159,11 +159,11 @@ static int sfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
fprintf
(
stderr
,
"Required parameter (redflowlimit) is missing
\n
"
);
return
-
1
;
}
/* Compute default min/max thresholds based on
/* Compute default min/max thresholds based on
Sally Floyd's recommendations:
http://www.icir.org/floyd/REDparameters.txt
*/
if
(
!
opt
.
qth_max
)
if
(
!
opt
.
qth_max
)
opt
.
qth_max
=
opt
.
limit
/
4
;
if
(
!
opt
.
qth_min
)
opt
.
qth_min
=
opt
.
qth_max
/
3
;
...
...
tc/tc_class.c
View file @
3d0b7439
...
...
@@ -79,7 +79,7 @@ static int tc_class_modify(int cmd, unsigned flags, int argc, char **argv)
}
else
if
(
strcmp
(
*
argv
,
"handle"
)
==
0
)
{
fprintf
(
stderr
,
"Error: try
\"
classid
\"
instead of
\"
handle
\"\n
"
);
return
-
1
;
}
else
if
(
strcmp
(
*
argv
,
"root"
)
==
0
)
{
}
else
if
(
strcmp
(
*
argv
,
"root"
)
==
0
)
{
if
(
req
.
t
.
tcm_parent
)
{
fprintf
(
stderr
,
"Error:
\"
root
\"
is duplicate parent ID.
\n
"
);
return
-
1
;
...
...
@@ -286,7 +286,7 @@ static int tc_class_list(int argc, char **argv)
argc
--
;
argv
++
;
}
ll_init_map
(
&
rth
);
ll_init_map
(
&
rth
);
if
(
d
[
0
])
{
if
((
t
.
tcm_ifindex
=
ll_name_to_index
(
d
))
==
0
)
{
...
...
@@ -296,12 +296,12 @@ static int tc_class_list(int argc, char **argv)
filter_ifindex
=
t
.
tcm_ifindex
;
}
if
(
rtnl_dump_request
(
&
rth
,
RTM_GETTCLASS
,
&
t
,
sizeof
(
t
))
<
0
)
{
if
(
rtnl_dump_request
(
&
rth
,
RTM_GETTCLASS
,
&
t
,
sizeof
(
t
))
<
0
)
{
perror
(
"Cannot send dump request"
);
return
1
;
}
if
(
rtnl_dump_filter
(
&
rth
,
print_class
,
stdout
)
<
0
)
{
if
(
rtnl_dump_filter
(
&
rth
,
print_class
,
stdout
)
<
0
)
{
fprintf
(
stderr
,
"Dump terminated
\n
"
);
return
1
;
}
...
...
tc/tc_filter.c
View file @
3d0b7439
...
...
@@ -159,7 +159,7 @@ static int tc_filter_modify(int cmd, unsigned flags, int argc, char **argv)
if
(
d
[
0
])
{
ll_init_map
(
&
rth
);
ll_init_map
(
&
rth
);
if
((
req
.
t
.
tcm_ifindex
=
ll_name_to_index
(
d
))
==
0
)
{
fprintf
(
stderr
,
"Cannot find device
\"
%s
\"\n
"
,
d
);
...
...
@@ -326,7 +326,7 @@ static int tc_filter_list(int argc, char **argv)
t
.
tcm_info
=
TC_H_MAKE
(
prio
<<
16
,
protocol
);
ll_init_map
(
&
rth
);
ll_init_map
(
&
rth
);
if
(
d
[
0
])
{
if
((
t
.
tcm_ifindex
=
ll_name_to_index
(
d
))
==
0
)
{
...
...
@@ -336,12 +336,12 @@ static int tc_filter_list(int argc, char **argv)
filter_ifindex
=
t
.
tcm_ifindex
;
}
if
(
rtnl_dump_request
(
&
rth
,
RTM_GETTFILTER
,
&
t
,
sizeof
(
t
))
<
0
)
{
if
(
rtnl_dump_request
(
&
rth
,
RTM_GETTFILTER
,
&
t
,
sizeof
(
t
))
<
0
)
{
perror
(
"Cannot send dump request"
);
return
1
;
}
if
(
rtnl_dump_filter
(
&
rth
,
print_filter
,
stdout
)
<
0
)
{
if
(
rtnl_dump_filter
(
&
rth
,
print_filter
,
stdout
)
<
0
)
{
fprintf
(
stderr
,
"Dump terminated
\n
"
);
return
1
;
}
...
...
tc/tc_qdisc.c
View file @
3d0b7439
...
...
@@ -178,7 +178,7 @@ static int tc_qdisc_modify(int cmd, unsigned flags, int argc, char **argv)
if
(
d
[
0
])
{
int
idx
;
ll_init_map
(
&
rth
);
ll_init_map
(
&
rth
);
if
((
idx
=
ll_name_to_index
(
d
))
==
0
)
{
fprintf
(
stderr
,
"Cannot find device
\"
%s
\"\n
"
,
d
);
...
...
@@ -309,7 +309,7 @@ static int tc_qdisc_list(int argc, char **argv)
argc
--
;
argv
++
;
}
ll_init_map
(
&
rth
);
ll_init_map
(
&
rth
);
if
(
d
[
0
])
{
if
((
t
.
tcm_ifindex
=
ll_name_to_index
(
d
))
==
0
)
{
...
...
@@ -319,12 +319,12 @@ static int tc_qdisc_list(int argc, char **argv)
filter_ifindex
=
t
.
tcm_ifindex
;
}
if
(
rtnl_dump_request
(
&
rth
,
RTM_GETQDISC
,
&
t
,
sizeof
(
t
))
<
0
)
{
if
(
rtnl_dump_request
(
&
rth
,
RTM_GETQDISC
,
&
t
,
sizeof
(
t
))
<
0
)
{
perror
(
"Cannot send dump request"
);
return
1
;
}
if
(
rtnl_dump_filter
(
&
rth
,
print_qdisc
,
stdout
)
<
0
)
{
if
(
rtnl_dump_filter
(
&
rth
,
print_qdisc
,
stdout
)
<
0
)
{
fprintf
(
stderr
,
"Dump terminated
\n
"
);
return
1
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment