- Reduce number of arguments passed to dummynet_io(), we already have cookie
in struct ip_fw_args itself. - Remove redundant &= 0xffff from dummynet_io().
This commit is contained in:
parent
34af7a1a38
commit
28935658c4
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=140345
@ -1097,7 +1097,7 @@ bdg_forward(struct mbuf *m0, struct ifnet *dst)
|
||||
}
|
||||
|
||||
args.oif = real_dst;
|
||||
ip_dn_io_ptr(m, args.cookie, DN_TO_BDG_FWD, &args);
|
||||
ip_dn_io_ptr(m, DN_TO_BDG_FWD, &args);
|
||||
return m0;
|
||||
}
|
||||
/*
|
||||
|
@ -464,8 +464,7 @@ ether_ipfw_chk(struct mbuf **m0, struct ifnet *dst,
|
||||
*/
|
||||
*m0 = NULL ;
|
||||
}
|
||||
ip_dn_io_ptr(m, args.cookie,
|
||||
dst ? DN_TO_ETH_OUT: DN_TO_ETH_DEMUX, &args);
|
||||
ip_dn_io_ptr(m, dst ? DN_TO_ETH_OUT: DN_TO_ETH_DEMUX, &args);
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
|
@ -1122,7 +1122,7 @@ locate_flowset(int pipe_nr, struct ip_fw *rule)
|
||||
*
|
||||
*/
|
||||
static int
|
||||
dummynet_io(struct mbuf *m, int pipe_nr, int dir, struct ip_fw_args *fwa)
|
||||
dummynet_io(struct mbuf *m, int dir, struct ip_fw_args *fwa)
|
||||
{
|
||||
struct dn_pkt_tag *pkt;
|
||||
struct m_tag *mtag;
|
||||
@ -1146,13 +1146,11 @@ dummynet_io(struct mbuf *m, int pipe_nr, int dir, struct ip_fw_args *fwa)
|
||||
is_pipe = (fwa->rule->fw_flg & IP_FW_F_COMMAND) == IP_FW_F_PIPE;
|
||||
#endif
|
||||
|
||||
pipe_nr &= 0xffff ;
|
||||
|
||||
DUMMYNET_LOCK();
|
||||
/*
|
||||
* This is a dummynet rule, so we expect an O_PIPE or O_QUEUE rule.
|
||||
*/
|
||||
fs = locate_flowset(pipe_nr, fwa->rule);
|
||||
fs = locate_flowset(fwa->cookie, fwa->rule);
|
||||
if (fs == NULL)
|
||||
goto dropit ; /* this queue/pipe does not exist! */
|
||||
pipe = fs->pipe ;
|
||||
|
@ -343,8 +343,7 @@ struct dn_pipe { /* a pipe */
|
||||
#ifdef _KERNEL
|
||||
typedef int ip_dn_ctl_t(struct sockopt *); /* raw_ip.c */
|
||||
typedef void ip_dn_ruledel_t(void *); /* ip_fw.c */
|
||||
typedef int ip_dn_io_t(struct mbuf *m, int pipe_nr, int dir,
|
||||
struct ip_fw_args *fwa);
|
||||
typedef int ip_dn_io_t(struct mbuf *m, int dir, struct ip_fw_args *fwa);
|
||||
extern ip_dn_ctl_t *ip_dn_ctl_ptr;
|
||||
extern ip_dn_ruledel_t *ip_dn_ruledel_ptr;
|
||||
extern ip_dn_io_t *ip_dn_io_ptr;
|
||||
|
@ -140,7 +140,7 @@ ipfw_check_in(void *arg, struct mbuf **m0, struct ifnet *ifp, int dir,
|
||||
case IP_FW_DUMMYNET:
|
||||
if (!DUMMYNET_LOADED)
|
||||
goto drop;
|
||||
ip_dn_io_ptr(*m0, args.cookie, DN_TO_IP_IN, &args);
|
||||
ip_dn_io_ptr(*m0, DN_TO_IP_IN, &args);
|
||||
*m0 = NULL;
|
||||
return 0; /* packet consumed */
|
||||
|
||||
@ -240,7 +240,7 @@ ipfw_check_out(void *arg, struct mbuf **m0, struct ifnet *ifp, int dir,
|
||||
case IP_FW_DUMMYNET:
|
||||
if (!DUMMYNET_LOADED)
|
||||
break;
|
||||
ip_dn_io_ptr(*m0, args.cookie, DN_TO_IP_OUT, &args);
|
||||
ip_dn_io_ptr(*m0, DN_TO_IP_OUT, &args);
|
||||
*m0 = NULL;
|
||||
return 0; /* packet consumed */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user