Lines Matching defs:fwa

1526 dummynet_io(struct mbuf *m, int pipe_nr, int dir, struct ip_fw_args *fwa, int client)
1545 ipfw_insn *cmd = fwa->fwa_ipfw_rule->cmd + fwa->fwa_ipfw_rule->act_ofs;
1553 is_pipe = (fwa->fwa_ipfw_rule->fw_flg & IP_FW_F_COMMAND) == IP_FW_F_PIPE;
1559 is_pipe = fwa->fwa_flags == DN_IS_PIPE ? 1 : 0;
1599 q = find_queue(fs, &(fwa->fwa_id));
1636 pkt->dn_ipfw_rule = fwa->fwa_ipfw_rule;
1637 pkt->dn_pf_rule = fwa->fwa_pf_rule;
1641 pkt->dn_ifp = fwa->fwa_oif;
1648 if (fwa->fwa_ro) {
1649 pkt->dn_ro = *(fwa->fwa_ro);
1650 if (fwa->fwa_ro->ro_rt)
1651 RT_ADDREF(fwa->fwa_ro->ro_rt);
1653 if (fwa->fwa_dst) {
1654 if (fwa->fwa_dst == (struct sockaddr_in *)&fwa->fwa_ro->ro_dst) /* dst points into ro */
1655 fwa->fwa_dst = (struct sockaddr_in *)&(pkt->dn_ro.ro_dst) ;
1657 bcopy (fwa->fwa_dst, &pkt->dn_dst, sizeof(pkt->dn_dst));
1660 if (fwa->fwa_ro6) {
1661 pkt->dn_ro6 = *(fwa->fwa_ro6);
1662 if (fwa->fwa_ro6->ro_rt)
1663 RT_ADDREF(fwa->fwa_ro6->ro_rt);
1665 if (fwa->fwa_ro6_pmtu) {
1666 pkt->dn_ro6_pmtu = *(fwa->fwa_ro6_pmtu);
1667 if (fwa->fwa_ro6_pmtu->ro_rt)
1668 RT_ADDREF(fwa->fwa_ro6_pmtu->ro_rt);
1670 if (fwa->fwa_dst6) {
1671 if (fwa->fwa_dst6 == (struct sockaddr_in6 *)&fwa->fwa_ro6->ro_dst) /* dst points into ro */
1672 fwa->fwa_dst6 = (struct sockaddr_in6 *)&(pkt->dn_ro6.ro_dst) ;
1674 bcopy (fwa->fwa_dst6, &pkt->dn_dst6, sizeof(pkt->dn_dst6));
1676 pkt->dn_origifp = fwa->fwa_origifp;
1677 pkt->dn_mtu = fwa->fwa_mtu;
1678 pkt->dn_alwaysfrag = fwa->fwa_alwaysfrag;
1679 pkt->dn_unfragpartlen = fwa->fwa_unfragpartlen;
1680 if (fwa->fwa_exthdrs) {
1681 bcopy (fwa->fwa_exthdrs, &pkt->dn_exthdrs, sizeof(pkt->dn_exthdrs));
1686 bzero(fwa->fwa_exthdrs, sizeof(struct ip6_exthdrs));
1690 pkt->dn_flags = fwa->fwa_oflags;
1691 if (fwa->fwa_ipoa != NULL)
1692 pkt->dn_ipoa = *(fwa->fwa_ipoa);