Changeset View
Changeset View
Standalone View
Standalone View
head/sbin/ipfw/ipfw2.c
Show First 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | static struct _s_x f_iptos[] = { | ||||
{ "reliability", IPTOS_RELIABILITY}, | { "reliability", IPTOS_RELIABILITY}, | ||||
{ "mincost", IPTOS_MINCOST}, | { "mincost", IPTOS_MINCOST}, | ||||
{ "congestion", IPTOS_ECN_CE}, | { "congestion", IPTOS_ECN_CE}, | ||||
{ "ecntransport", IPTOS_ECN_ECT0}, | { "ecntransport", IPTOS_ECN_ECT0}, | ||||
{ "ip tos option", 0}, | { "ip tos option", 0}, | ||||
{ NULL, 0 } | { NULL, 0 } | ||||
}; | }; | ||||
static struct _s_x f_ipoff[] = { | |||||
{ "rf", IP_RF >> 8 }, | |||||
{ "df", IP_DF >> 8 }, | |||||
{ "mf", IP_MF >> 8 }, | |||||
{ "offset", 0x1 }, | |||||
{ NULL, 0} | |||||
}; | |||||
struct _s_x f_ipdscp[] = { | struct _s_x f_ipdscp[] = { | ||||
{ "af11", IPTOS_DSCP_AF11 >> 2 }, /* 001010 */ | { "af11", IPTOS_DSCP_AF11 >> 2 }, /* 001010 */ | ||||
{ "af12", IPTOS_DSCP_AF12 >> 2 }, /* 001100 */ | { "af12", IPTOS_DSCP_AF12 >> 2 }, /* 001100 */ | ||||
{ "af13", IPTOS_DSCP_AF13 >> 2 }, /* 001110 */ | { "af13", IPTOS_DSCP_AF13 >> 2 }, /* 001110 */ | ||||
{ "af21", IPTOS_DSCP_AF21 >> 2 }, /* 010010 */ | { "af21", IPTOS_DSCP_AF21 >> 2 }, /* 010010 */ | ||||
{ "af22", IPTOS_DSCP_AF22 >> 2 }, /* 010100 */ | { "af22", IPTOS_DSCP_AF22 >> 2 }, /* 010100 */ | ||||
{ "af23", IPTOS_DSCP_AF23 >> 2 }, /* 010110 */ | { "af23", IPTOS_DSCP_AF23 >> 2 }, /* 010110 */ | ||||
{ "af31", IPTOS_DSCP_AF31 >> 2 }, /* 011010 */ | { "af31", IPTOS_DSCP_AF31 >> 2 }, /* 011010 */ | ||||
▲ Show 20 Lines • Show All 1,347 Lines • ▼ Show 20 Lines | print_instruction(struct buf_pr *bp, const struct format_opts *fo, | ||||
case O_MACADDR2: | case O_MACADDR2: | ||||
print_mac(bp, insntod(cmd, mac)); | print_mac(bp, insntod(cmd, mac)); | ||||
break; | break; | ||||
case O_MAC_TYPE: | case O_MAC_TYPE: | ||||
print_newports(bp, insntod(cmd, u16), | print_newports(bp, insntod(cmd, u16), | ||||
IPPROTO_ETHERTYPE, cmd->opcode); | IPPROTO_ETHERTYPE, cmd->opcode); | ||||
break; | break; | ||||
case O_FRAG: | case O_FRAG: | ||||
bprintf(bp, " frag"); | print_flags(bp, "frag", cmd, f_ipoff); | ||||
break; | break; | ||||
case O_FIB: | case O_FIB: | ||||
bprintf(bp, " fib %u", cmd->arg1); | bprintf(bp, " fib %u", cmd->arg1); | ||||
break; | break; | ||||
case O_SOCKARG: | case O_SOCKARG: | ||||
bprintf(bp, " sockarg"); | bprintf(bp, " sockarg"); | ||||
break; | break; | ||||
case O_IN: | case O_IN: | ||||
▲ Show 20 Lines • Show All 3,005 Lines • ▼ Show 20 Lines | case TOK_DIVERTEDLOOPBACK: | ||||
fill_cmd(cmd, O_DIVERTED, 0, 1); | fill_cmd(cmd, O_DIVERTED, 0, 1); | ||||
break; | break; | ||||
case TOK_DIVERTEDOUTPUT: | case TOK_DIVERTEDOUTPUT: | ||||
fill_cmd(cmd, O_DIVERTED, 0, 2); | fill_cmd(cmd, O_DIVERTED, 0, 2); | ||||
break; | break; | ||||
case TOK_FRAG: | case TOK_FRAG: | ||||
fill_cmd(cmd, O_FRAG, 0, 0); | fill_flags_cmd(cmd, O_FRAG, f_ipoff, *av); | ||||
/* | |||||
* Compatibility: no argument after "frag" | |||||
* keyword equals to "frag offset". | |||||
*/ | |||||
if (cmd->arg1 == 0) | |||||
cmd->arg1 = 0x1; | |||||
else | |||||
av++; | |||||
break; | break; | ||||
case TOK_LAYER2: | case TOK_LAYER2: | ||||
fill_cmd(cmd, O_LAYER2, 0, 0); | fill_cmd(cmd, O_LAYER2, 0, 0); | ||||
break; | break; | ||||
case TOK_XMIT: | case TOK_XMIT: | ||||
case TOK_RECV: | case TOK_RECV: | ||||
▲ Show 20 Lines • Show All 1,065 Lines • Show Last 20 Lines |