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
ebf32083
Commit
ebf32083
authored
Aug 08, 2006
by
Jamal Hadi Salim
Committed by
Stephen Hemminger
Aug 08, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
First part of cleaning up the help output of actions.
Signed-off-by:
Stephen Hemminger
<
shemminger@osdl.org
>
parent
da7aea79
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
57 additions
and
43 deletions
+57
-43
tc/m_action.c
tc/m_action.c
+1
-0
tc/m_gact.c
tc/m_gact.c
+16
-8
tc/m_mirred.c
tc/m_mirred.c
+14
-8
tc/m_pedit.c
tc/m_pedit.c
+23
-21
tc/m_police.c
tc/m_police.c
+3
-6
No files found.
tc/m_action.c
View file @
ebf32083
...
...
@@ -58,6 +58,7 @@ void act_usage(void)
"
\t\t
Example ACTNAME is gact, mirred etc
\n
"
"
\t\t
Each action has its own parameters (ACTPARAMS)
\n
"
"
\n
"
);
exit
(
-
1
);
}
static
int
print_noaopt
(
struct
action_util
*
au
,
FILE
*
f
,
struct
rtattr
*
opt
)
...
...
tc/m_gact.c
View file @
ebf32083
...
...
@@ -45,22 +45,28 @@ explain(void)
#ifdef CONFIG_GACT_PROB
fprintf
(
stderr
,
"Usage: ... gact <ACTION> [RAND] [INDEX]
\n
"
);
fprintf
(
stderr
,
"Where:
ACTION := reclassify | drop | continue | pass
"
"RAND := random <RANDTYPE> <ACTION> <VAL>
"
"RANDTYPE := netrand | determ
"
"VAL : = value not exceeding 10000
"
"INDEX := index value used
"
"Where:
\t
ACTION := reclassify | drop | continue | pass
\n
"
"
\t
RAND := random <RANDTYPE> <ACTION> <VAL>
\n
"
"
\t
RANDTYPE := netrand | determ
\n
"
"
\t
VAL : = value not exceeding 10000
\n
"
"
\t
INDEX := index value used
\n
"
"
\n
"
);
#else
fprintf
(
stderr
,
"Usage: ... gact <ACTION> [INDEX]
\n
"
);
fprintf
(
stderr
,
"Where: ACTION := reclassify | drop | continue | pass
"
"
INDEX := index value used
"
"Where:
\t
ACTION := reclassify | drop | continue | pass
\n
"
"
\t
INDEX := index value used
\n
"
"
\n
"
);
#endif
}
#define usage() return(-1)
static
void
usage
(
void
)
{
explain
();
exit
(
-
1
);
}
int
get_act
(
char
***
argv_p
)
...
...
@@ -157,6 +163,8 @@ parse_gact(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, struc
}
argc
--
;
argv
++
;
}
else
if
(
matches
(
*
argv
,
"help"
)
==
0
)
{
usage
();
}
}
#endif
...
...
tc/m_mirred.c
View file @
ebf32083
...
...
@@ -33,13 +33,19 @@ explain(void)
{
fprintf
(
stderr
,
"Usage: mirred <DIRECTION> <ACTION> [index INDEX] <dev DEVICENAME>
\n
"
);
fprintf
(
stderr
,
"where:
\n
"
);
fprintf
(
stderr
,
"DIRECTION := <ingress | egress>
\n
"
);
fprintf
(
stderr
,
"aCTION := <mirror | redirect>
\n
"
);
fprintf
(
stderr
,
" : INDEX is the specific policy instance id
\n
"
);
fprintf
(
stderr
,
" : DEVICENAME is the devicename
\n
"
);
fprintf
(
stderr
,
"
\t
DIRECTION := <ingress | egress>
\n
"
);
fprintf
(
stderr
,
"
\t
ACTION := <mirror | redirect>
\n
"
);
fprintf
(
stderr
,
"
\t
INDEX is the specific policy instance id
\n
"
);
fprintf
(
stderr
,
"
\t
DEVICENAME is the devicename
\n
"
);
}
#define usage() return(-1)
static
void
usage
(
void
)
{
explain
();
exit
(
-
1
);
}
char
*
mirred_n2a
(
int
action
)
{
...
...
@@ -133,7 +139,6 @@ parse_egress(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, str
}
if
(
!
ok
&&
!
iok
)
{
explain
();
return
-
1
;
}
...
...
@@ -235,9 +240,10 @@ parse_mirred(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, str
}
else
if
(
matches
(
*
argv
,
"ingress"
)
==
0
)
{
fprintf
(
stderr
,
"mirred ingress not supported at the moment
\n
"
);
}
else
if
(
matches
(
*
argv
,
"help"
)
==
0
)
{
usage
();
}
else
{
fprintf
(
stderr
,
"mirred not supported %s
\n
"
,
*
argv
);
fprintf
(
stderr
,
"mirred
option
not supported %s
\n
"
,
*
argv
);
}
return
-
1
;
...
...
tc/m_pedit.c
View file @
ebf32083
...
...
@@ -33,25 +33,30 @@ static struct m_pedit_util *pedit_list;
int
pedit_debug
=
1
;
static
void
p_
explain
(
void
)
explain
(
void
)
{
fprintf
(
stderr
,
"Usage: ... pedit <MUNGE>
\n
"
);
fprintf
(
stderr
,
"Usage: ... pedit
munge
<MUNGE>
\n
"
);
fprintf
(
stderr
,
"Where: MUNGE := <RAW>|<LAYERED>
\n
"
"<RAW>:= <OFFSETC>[ATC]<CMD>
\n
"
"OFFSETC:= offset <offval> <u8|u16|u32>
\n
"
"ATC:= at <atval> offmask <maskval> shift <shiftval>
\n
"
"NOTE: offval is byte offset, must be multiple of 4
\n
"
"NOTE: maskval is a 32 bit hex number
\n
"
"NOTE: shiftval is a is a shift value
\n
"
"CMD:= clear | invert | set <setval>| retain
\n
"
"<LAYERED>:= ip <ipdata> | ip6 <ip6data>
\n
"
" | udp <udpdata> | tcp <tcpdata> | icmp <icmpdata>
\n
"
"For Example usage look at the examples directory"
);
"
\t
<RAW>:= <OFFSETC>[ATC]<CMD>
\n
"
"
\t\t
OFFSETC:= offset <offval> <u8|u16|u32>
\n
"
"
\t\t
ATC:= at <atval> offmask <maskval> shift <shiftval>
\n
"
"
\t\t
NOTE: offval is byte offset, must be multiple of 4
\n
"
"
\t\t
NOTE: maskval is a 32 bit hex number
\n
"
"
\t\t
NOTE: shiftval is a is a shift value
\n
"
"
\t\t
CMD:= clear | invert | set <setval>| retain
\n
"
"
\t
<LAYERED>:= ip <ipdata> | ip6 <ip6data>
\n
"
"
\t\t
| udp <udpdata> | tcp <tcpdata> | icmp <icmpdata>
\n
"
"For Example usage look at the examples directory
\n
"
);
}
#define usage() return(-1)
static
void
usage
(
void
)
{
explain
();
exit
(
-
1
);
}
static
int
pedit_parse_nopopt
(
int
*
argc_p
,
char
***
argv_p
,
struct
tc_pedit_sel
*
sel
,
struct
tc_pedit_key
*
tkey
)
...
...
@@ -423,11 +428,6 @@ parse_munge(int *argc_p, char ***argv_p,struct tc_pedit_sel *sel)
NEXT_ARG
();
res
=
parse_offset
(
&
argc
,
&
argv
,
sel
,
&
tkey
);
goto
done
;
#if jamal
}
else
if
(
strcmp
(
*
argv
,
"help"
)
==
0
)
{
p_explain
();
return
-
1
;
#endif
}
else
{
char
k
[
16
];
struct
m_pedit_util
*
p
=
NULL
;
...
...
@@ -479,16 +479,18 @@ parse_pedit(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, stru
NEXT_ARG
();
ok
++
;
continue
;
}
else
if
(
matches
(
*
argv
,
"help"
)
==
0
)
{
usage
();
}
else
if
(
matches
(
*
argv
,
"munge"
)
==
0
)
{
if
(
!
ok
)
{
fprintf
(
stderr
,
"Illegal pedit construct (%s)
\n
"
,
*
argv
);
p_
explain
();
explain
();
return
-
1
;
}
NEXT_ARG
();
if
(
parse_munge
(
&
argc
,
&
argv
,
&
sel
.
sel
))
{
fprintf
(
stderr
,
"Illegal pedit construct (%s)
\n
"
,
*
argv
);
p_
explain
();
explain
();
return
-
1
;
}
ok
++
;
...
...
@@ -499,7 +501,7 @@ parse_pedit(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, stru
}
if
(
!
ok
)
{
p_
explain
();
explain
();
return
-
1
;
}
...
...
tc/m_police.c
View file @
ebf32083
...
...
@@ -32,7 +32,7 @@ struct action_util police_action_util = {
.
print_aopt
=
print_police
,
};
static
void
explain
(
void
)
static
void
usage
(
void
)
{
fprintf
(
stderr
,
"Usage: ... police rate BPS burst BYTES[/BYTES] [ mtu BYTES[/BYTES] ]
\n
"
);
fprintf
(
stderr
,
" [ peakrate BPS ] [ avrate BPS ]
\n
"
);
...
...
@@ -41,6 +41,7 @@ static void explain(void)
fprintf
(
stderr
,
"New Syntax ACTIONTERM := conform-exceed <EXCEEDACT>[/NOTEXCEEDACT]
\n
"
);
fprintf
(
stderr
,
"Where: *EXCEEDACT := pipe | ok | reclassify | drop | continue
\n
"
);
fprintf
(
stderr
,
"Where: pipe is only valid for new syntax
\n
"
);
exit
(
-
1
);
}
static
void
explain1
(
char
*
arg
)
...
...
@@ -48,9 +49,6 @@ static void explain1(char *arg)
fprintf
(
stderr
,
"Illegal
\"
%s
\"\n
"
,
arg
);
}
#define usage() return(-1)
char
*
police_action_n2a
(
int
action
,
char
*
buf
,
int
len
)
{
switch
(
action
)
{
...
...
@@ -236,8 +234,7 @@ int act_parse_police(struct action_util *a,int *argc_p, char ***argv_p, int tca_
return
-
1
;
}
}
else
if
(
strcmp
(
*
argv
,
"help"
)
==
0
)
{
explain
();
return
-
1
;
usage
();
}
else
{
break
;
}
...
...
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