Lines Matching refs:cmd

88 print_ip6(struct buf_pr *bp, ipfw_insn_ip6 *cmd)
92 struct in6_addr *a = &(cmd->addr6);
95 len = F_LEN((ipfw_insn *) cmd) - 1;
96 if (cmd->o.opcode == O_IP6_SRC_ME || cmd->o.opcode == O_IP6_DST_ME) {
100 if (cmd->o.opcode == O_IP6) {
113 mb = (cmd->o.opcode == O_IP6_SRC ||
114 cmd->o.opcode == O_IP6_DST) ? 128:
141 fill_icmp6types(ipfw_insn_icmp6 *cmd, char *av, int cblen)
146 memset(cmd, 0, sizeof(*cmd));
161 cmd->d[type / 32] |= ( 1 << (type % 32));
163 cmd->o.opcode = O_ICMP6TYPE;
164 cmd->o.len |= F_INSN_SIZE(ipfw_insn_icmp6);
168 print_icmp6types(struct buf_pr *bp, ipfw_insn_u32 *cmd)
176 if ( (cmd->d[i] & (1 << (j))) == 0)
184 print_flow6id(struct buf_pr *bp, ipfw_insn_u32 *cmd)
186 uint16_t i, limit = cmd->o.arg1;
193 bprintf(bp, "%d%c", cmd->d[i], sep);
212 fill_ext6hdr( ipfw_insn *cmd, char *av)
217 cmd->arg1 = 0;
223 cmd->arg1 |= EXT_FRAGMENT;
226 cmd->arg1 |= EXT_HOPOPTS;
229 cmd->arg1 |= EXT_ROUTING;
232 cmd->arg1 |= EXT_DSTOPTS;
235 cmd->arg1 |= EXT_AH;
238 cmd->arg1 |= EXT_ESP;
241 cmd->arg1 |= EXT_RTHDR0;
244 cmd->arg1 |= EXT_RTHDR2;
252 if (cmd->arg1 == 0)
254 cmd->opcode = O_EXT_HDR;
255 cmd->len |= F_INSN_SIZE(ipfw_insn);
260 print_ext6hdr(struct buf_pr *bp, ipfw_insn *cmd )
265 if (cmd->arg1 & EXT_FRAGMENT) {
269 if (cmd->arg1 & EXT_HOPOPTS) {
273 if (cmd->arg1 & EXT_ROUTING) {
277 if (cmd->arg1 & EXT_RTHDR0) {
281 if (cmd->arg1 & EXT_RTHDR2) {
285 if (cmd->arg1 & EXT_DSTOPTS) {
289 if (cmd->arg1 & EXT_AH) {
293 if (cmd->arg1 & EXT_ESP) {
330 fill_ip6(ipfw_insn_ip6 *cmd, char *av, int cblen, struct tidx *tstate)
333 struct in6_addr *d = &(cmd->addr6);
337 * Note d[1] points to struct in6_add r mask6 of cmd
340 cmd->o.len &= ~F_LEN_MASK; /* zero len */
347 cmd->o.len |= F_INSN_SIZE(ipfw_insn);
352 cmd->o.len |= F_INSN_SIZE(ipfw_insn);
357 fill_table(&cmd->o, av, O_IP_DST_LOOKUP, tstate);
417 if (cmd->o.len & F_NOT && av == NULL && len == 0)
441 cmd->o.len |= len+1;
453 fill_flow6( ipfw_insn_u32 *cmd, char *av, int cblen)
458 cmd->d[0] = 0; /* Initializing the base number*/
469 cmd->d[nflow] |= type;
473 cmd->o.opcode = O_FLOW6ID;
474 cmd->o.len |= F_INSN_SIZE(ipfw_insn_u32) + nflow;
475 cmd->o.arg1 = nflow;
483 add_srcip6(ipfw_insn *cmd, char *av, int cblen, struct tidx *tstate)
486 fill_ip6((ipfw_insn_ip6 *)cmd, av, cblen, tstate);
487 if (cmd->opcode == O_IP_DST_SET) /* set */
488 cmd->opcode = O_IP_SRC_SET;
489 else if (cmd->opcode == O_IP_DST_LOOKUP) /* table */
490 cmd->opcode = O_IP_SRC_LOOKUP;
491 else if (F_LEN(cmd) == 0) { /* any */
492 } else if (F_LEN(cmd) == F_INSN_SIZE(ipfw_insn)) { /* "me" */
493 cmd->opcode = O_IP6_SRC_ME;
494 } else if (F_LEN(cmd) ==
497 cmd->opcode = O_IP6_SRC;
499 cmd->opcode = O_IP6_SRC_MASK;
501 return cmd;
505 add_dstip6(ipfw_insn *cmd, char *av, int cblen, struct tidx *tstate)
508 fill_ip6((ipfw_insn_ip6 *)cmd, av, cblen, tstate);
509 if (cmd->opcode == O_IP_DST_SET) /* set */
511 else if (cmd->opcode == O_IP_DST_LOOKUP) /* table */
513 else if (F_LEN(cmd) == 0) { /* any */
514 } else if (F_LEN(cmd) == F_INSN_SIZE(ipfw_insn)) { /* "me" */
515 cmd->opcode = O_IP6_DST_ME;
516 } else if (F_LEN(cmd) ==
519 cmd->opcode = O_IP6_DST;
521 cmd->opcode = O_IP6_DST_MASK;
523 return cmd;