Date: Wed, 23 Jul 2014 16:28:57 GMT From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r271285 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw Message-ID: <201407231628.s6NGSvlN086763@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dpl Date: Wed Jul 23 16:28:57 2014 New Revision: 271285 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271285 Log: Properly inline the functions. We want them inlined here. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Wed Jul 23 16:27:43 2014 (r271284) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Wed Jul 23 16:28:57 2014 (r271285) @@ -127,109 +127,109 @@ static unsigned int default_fw_tables = IPFW_TABLES_DEFAULT; /* Rule functions, ordered by appereance in the code */ -static inline void rule_nop(int *); -static inline void rule_forward_mac(int); -static inline void rule_jail(int *, u_short, uint8_t, ipfw_insn *, struct ip_fw_args *, int, void *); -static inline void rule_recv(int *, ipfw_insn *, struct mbuf *, struct ip_fw_chain *, uint32_t *); -static inline void rule_xmit(int *, struct ifnet *, ipfw_insn *, struct ip_fw_chain *, uint32_t *); -static inline void rule_via(int *, struct ifnet *, struct mbuf *, ipfw_insn *, struct ip_fw_chain *, uint32_t *); -static inline void rule_macaddr2(int *, struct ip_fw_args *, ipfw_insn *); -static inline void rule_mac_type(int *, struct ip_fw_args *, ipfw_insn *, int, uint16_t); -static inline void rule_frag(int *, u_short); -static inline void rule_in(int *, struct ifnet *); -static inline void rule_layer2(int *, struct ip_fw_args *); -static inline void rule_diverted(int *, struct ip_fw_args *, ipfw_insn *); -static inline void rule_proto(int *, uint8_t, ipfw_insn *); -static inline void rule_ip_src(int *, int, ipfw_insn *, struct in_addr *); -static inline void rule_ip_dst_lookup(int *, ipfw_insn *, int, struct ip_fw_args *, uint32_t *, int, int, struct ip *, struct in_addr *, struct in_addr *, uint16_t, uint16_t, u_short, uint8_t, int, void *, struct ip_fw_chain *); -static inline void rule_ip_dst_mask(int *, int, ipfw_insn *, int, struct in_addr *, struct in_addr *); -static inline void rule_ip_src_me(int *, int, int, struct in_addr *, struct ip_fw_args *); +static __always_inline void rule_nop(int *); +static __always_inline void rule_forward_mac(int); +static __always_inline void rule_jail(int *, u_short, uint8_t, ipfw_insn *, struct ip_fw_args *, int, void *); +static __always_inline void rule_recv(int *, ipfw_insn *, struct mbuf *, struct ip_fw_chain *, uint32_t *); +static __always_inline void rule_xmit(int *, struct ifnet *, ipfw_insn *, struct ip_fw_chain *, uint32_t *); +static __always_inline void rule_via(int *, struct ifnet *, struct mbuf *, ipfw_insn *, struct ip_fw_chain *, uint32_t *); +static __always_inline void rule_macaddr2(int *, struct ip_fw_args *, ipfw_insn *); +static __always_inline void rule_mac_type(int *, struct ip_fw_args *, ipfw_insn *, int, uint16_t); +static __always_inline void rule_frag(int *, u_short); +static __always_inline void rule_in(int *, struct ifnet *); +static __always_inline void rule_layer2(int *, struct ip_fw_args *); +static __always_inline void rule_diverted(int *, struct ip_fw_args *, ipfw_insn *); +static __always_inline void rule_proto(int *, uint8_t, ipfw_insn *); +static __always_inline void rule_ip_src(int *, int, ipfw_insn *, struct in_addr *); +static __always_inline void rule_ip_dst_lookup(int *, ipfw_insn *, int, struct ip_fw_args *, uint32_t *, int, int, struct ip *, struct in_addr *, struct in_addr *, uint16_t, uint16_t, u_short, uint8_t, int, void *, struct ip_fw_chain *); +static __always_inline void rule_ip_dst_mask(int *, int, ipfw_insn *, int, struct in_addr *, struct in_addr *); +static __always_inline void rule_ip_src_me(int *, int, int, struct in_addr *, struct ip_fw_args *); #ifdef INET6 -static inline void rule_ip6_src_me(int *, int, struct ip_fw_args *); +static __always_inline void rule_ip6_src_me(int *, int, struct ip_fw_args *); #endif /* INET6 */ -static inline void rule_ip_src_set(int *, int, ipfw_insn *, struct ip_fw_args *); -static inline void rule_ip_dst(int *, int, ipfw_insn *, struct in_addr *); -static inline void rule_ip_dst_me(int *, struct ip_fw_args *, int, int, struct in_addr *); +static __always_inline void rule_ip_src_set(int *, int, ipfw_insn *, struct ip_fw_args *); +static __always_inline void rule_ip_dst(int *, int, ipfw_insn *, struct in_addr *); +static __always_inline void rule_ip_dst_me(int *, struct ip_fw_args *, int, int, struct in_addr *); #ifdef INET6 -static inline void rule_ip6_dst_me(int *, struct ip_fw_args *args, int is_ipv6); +static __always_inline void rule_ip6_dst_me(int *, struct ip_fw_args *args, int is_ipv6); #endif /* INET6 */ -static inline void rule_ip_dstport(int *, uint8_t, u_short , ipfw_insn *, int , uint16_t , uint16_t); -static inline void rule_icmptype(int *, u_short, uint8_t , void *, ipfw_insn *); +static __always_inline void rule_ip_dstport(int *, uint8_t, u_short , ipfw_insn *, int , uint16_t , uint16_t); +static __always_inline void rule_icmptype(int *, u_short, uint8_t , void *, ipfw_insn *); #ifdef INET6 -static inline void rule_icmp6type(int *, u_short, int, uint8_t, void *, ipfw_insn *); +static __always_inline void rule_icmp6type(int *, u_short, int, uint8_t, void *, ipfw_insn *); #endif /* INET6 */ -static inline void rule_ipopt(int *, int, struct ip *, ipfw_insn *); -static inline void rule_ipver(int *, int, ipfw_insn *, struct ip *); -static inline void rule_ipttl(int *, int, ipfw_insn *, int, struct ip *, uint16_t); -static inline void rule_ipprecedence(int *, int, ipfw_insn *, struct ip *); -static inline void rule_iptos(int *, int, ipfw_insn *, struct ip *); -static inline void rule_dscp(int *, int, int, ipfw_insn *, struct ip *); -static inline void rule_tcpdatalen(int *, uint8_t, u_short, void *, uint16_t, int, ipfw_insn *, struct ip *); -static inline void rule_tcpflags(int *, uint8_t, u_short, ipfw_insn *, void *); -static inline int rule_tcpopts(int *, u_int, void *, uint8_t, u_short, ipfw_insn *, struct mbuf *, struct ip_fw_args *); -static inline void rule_tcpseq(int *, uint8_t, u_short, ipfw_insn *, void *); -static inline void rule_tcpack(int *, uint8_t, u_short, ipfw_insn *, void *); -static inline void rule_tcpwin(int *, uint8_t, u_short, ipfw_insn *, int, void *); -static inline void rule_estab(int *, uint8_t, u_short, void *); -static inline void rule_altq(int *, ipfw_insn *, struct mbuf *, struct ip *); -static inline void rule_log(int *, struct ip_fw *, u_int, struct ip_fw_args *, struct mbuf *, struct ifnet *, u_short, u_short, uint32_t, struct ip *); -static inline void rule_prob(int *, ipfw_insn *); -static inline void rule_verrevpath(int *, struct ifnet *, struct mbuf *, int, struct ip_fw_args *, struct in_addr *); -static inline void rule_versrcreach(int *, u_int, struct ifnet *, int, struct ip_fw_args *, struct in_addr *); -static inline void rule_antispoof(int *, struct ifnet *, u_int, int, int, struct in_addr *, struct ip_fw_args *, struct mbuf *); +static __always_inline void rule_ipopt(int *, int, struct ip *, ipfw_insn *); +static __always_inline void rule_ipver(int *, int, ipfw_insn *, struct ip *); +static __always_inline void rule_ipttl(int *, int, ipfw_insn *, int, struct ip *, uint16_t); +static __always_inline void rule_ipprecedence(int *, int, ipfw_insn *, struct ip *); +static __always_inline void rule_iptos(int *, int, ipfw_insn *, struct ip *); +static __always_inline void rule_dscp(int *, int, int, ipfw_insn *, struct ip *); +static __always_inline void rule_tcpdatalen(int *, uint8_t, u_short, void *, uint16_t, int, ipfw_insn *, struct ip *); +static __always_inline void rule_tcpflags(int *, uint8_t, u_short, ipfw_insn *, void *); +static __always_inline int rule_tcpopts(int *, u_int, void *, uint8_t, u_short, ipfw_insn *, struct mbuf *, struct ip_fw_args *); +static __always_inline void rule_tcpseq(int *, uint8_t, u_short, ipfw_insn *, void *); +static __always_inline void rule_tcpack(int *, uint8_t, u_short, ipfw_insn *, void *); +static __always_inline void rule_tcpwin(int *, uint8_t, u_short, ipfw_insn *, int, void *); +static __always_inline void rule_estab(int *, uint8_t, u_short, void *); +static __always_inline void rule_altq(int *, ipfw_insn *, struct mbuf *, struct ip *); +static __always_inline void rule_log(int *, struct ip_fw *, u_int, struct ip_fw_args *, struct mbuf *, struct ifnet *, u_short, u_short, uint32_t, struct ip *); +static __always_inline void rule_prob(int *, ipfw_insn *); +static __always_inline void rule_verrevpath(int *, struct ifnet *, struct mbuf *, int, struct ip_fw_args *, struct in_addr *); +static __always_inline void rule_versrcreach(int *, u_int, struct ifnet *, int, struct ip_fw_args *, struct in_addr *); +static __always_inline void rule_antispoof(int *, struct ifnet *, u_int, int, int, struct in_addr *, struct ip_fw_args *, struct mbuf *); #ifdef IPSEC -static inline void rule_ipsec(int *match, struct mbuf *); +static __always_inline void rule_ipsec(int *match, struct mbuf *); #endif /* IPSEC */ #ifdef INET6 -static inline void rule_ip6_src(int *, int, struct ip_fw_args *, ipfw_insn *); -static inline void rule_ip6_dst(int *, int, struct ip_fw_args *, ipfw_insn *); -static inline void rule_ip6_dst_mask(int *, struct ip_fw_args *, ipfw_insn *, int, int); -static inline void rule_flow6id(int *, int, struct ip_fw_args *, ipfw_insn *); -static inline void rule_ext_hdr(int *, int, uint16_t, ipfw_insn *); -static inline void rule_ip6(int *, int); +static __always_inline void rule_ip6_src(int *, int, struct ip_fw_args *, ipfw_insn *); +static __always_inline void rule_ip6_dst(int *, int, struct ip_fw_args *, ipfw_insn *); +static __always_inline void rule_ip6_dst_mask(int *, struct ip_fw_args *, ipfw_insn *, int, int); +static __always_inline void rule_flow6id(int *, int, struct ip_fw_args *, ipfw_insn *); +static __always_inline void rule_ext_hdr(int *, int, uint16_t, ipfw_insn *); +static __always_inline void rule_ip6(int *, int); #endif /* INET6 */ -static inline void rule_ip4(int *, int); -static inline void rule_tag(int *, ipfw_insn *, struct mbuf *, uint32_t); -static inline void rule_fib(int *, struct ip_fw_args *, ipfw_insn *); -static inline void rule_sockarg(int *, int, uint8_t, struct in_addr *, struct in_addr *, uint16_t, uint16_t, struct ip_fw_args *, uint32_t *); -static inline void rule_tagged(int *, ipfw_insn *, int, struct mbuf *, uint32_t); +static __always_inline void rule_ip4(int *, int); +static __always_inline void rule_tag(int *, ipfw_insn *, struct mbuf *, uint32_t); +static __always_inline void rule_fib(int *, struct ip_fw_args *, ipfw_insn *); +static __always_inline void rule_sockarg(int *, int, uint8_t, struct in_addr *, struct in_addr *, uint16_t, uint16_t, struct ip_fw_args *, uint32_t *); +static __always_inline void rule_tagged(int *, ipfw_insn *, int, struct mbuf *, uint32_t); /* The second sets of opcodes. They represent the actions of a rule. */ -static inline void rule_keep_state(int *, struct ip_fw *f, ipfw_insn *, struct ip_fw_args *, uint32_t, int *, int *, int *); -static inline void rule_check_state(int *, int *, ipfw_dyn_rule *, struct ip_fw_args *, uint8_t, void *, int, struct ip_fw *, int *, struct ip_fw_chain *, ipfw_insn *, int *, int *); -static inline void rule_accept(int *, int *, int *); -static inline void rule_queue(struct ip_fw_args *, int, struct ip_fw_chain *, ipfw_insn *, uint32_t, int *, int *, int *); -static inline void rule_tee(int *, int *, int *, ipfw_insn *, struct ip_fw_args *, int, uint32_t, struct ip_fw_chain *); -static inline void rule_count(int *, struct ip_fw *, int); -static inline void rule_skipto(int *, int *, ipfw_insn *, int *, int *, int *, struct ip_fw *, int, struct ip_fw_chain *, uint32_t); -static inline void rule_callreturn(ipfw_insn *, struct mbuf *, struct ip_fw *, struct ip_fw_chain *, uint32_t, int, int *, int *, int *, int *); -static inline void rule_reject(u_int, int, u_short, uint8_t, void *, struct mbuf *, struct in_addr *, struct ip_fw_args *, ipfw_insn *, uint16_t, struct ip *); +static __always_inline void rule_keep_state(int *, struct ip_fw *f, ipfw_insn *, struct ip_fw_args *, uint32_t, int *, int *, int *); +static __always_inline void rule_check_state(int *, int *, ipfw_dyn_rule *, struct ip_fw_args *, uint8_t, void *, int, struct ip_fw *, int *, struct ip_fw_chain *, ipfw_insn *, int *, int *); +static __always_inline void rule_accept(int *, int *, int *); +static __always_inline void rule_queue(struct ip_fw_args *, int, struct ip_fw_chain *, ipfw_insn *, uint32_t, int *, int *, int *); +static __always_inline void rule_tee(int *, int *, int *, ipfw_insn *, struct ip_fw_args *, int, uint32_t, struct ip_fw_chain *); +static __always_inline void rule_count(int *, struct ip_fw *, int); +static __always_inline void rule_skipto(int *, int *, ipfw_insn *, int *, int *, int *, struct ip_fw *, int, struct ip_fw_chain *, uint32_t); +static __always_inline void rule_callreturn(ipfw_insn *, struct mbuf *, struct ip_fw *, struct ip_fw_chain *, uint32_t, int, int *, int *, int *, int *); +static __always_inline void rule_reject(u_int, int, u_short, uint8_t, void *, struct mbuf *, struct in_addr *, struct ip_fw_args *, ipfw_insn *, uint16_t, struct ip *); #ifdef INET6 -static inline void rule_unreach6(u_int, int, u_short, uint8_t, uint8_t, struct mbuf *, struct ip_fw_args *, ipfw_insn *, struct ip *); +static __always_inline void rule_unreach6(u_int, int, u_short, uint8_t, uint8_t, struct mbuf *, struct ip_fw_args *, ipfw_insn *, struct ip *); #endif /* INET6 */ -static inline void rule_deny(int *, int *, int *); -static inline void rule_forward_ip(struct ip_fw_args *, ipfw_dyn_rule *, struct ip_fw *, int, ipfw_insn *, uint32_t, int *, int *, int *); +static __always_inline void rule_deny(int *, int *, int *); +static __always_inline void rule_forward_ip(struct ip_fw_args *, ipfw_dyn_rule *, struct ip_fw *, int, ipfw_insn *, uint32_t, int *, int *, int *); #ifdef INET6 -static inline void rule_forward_ip6(struct ip_fw_args *, ipfw_dyn_rule *, struct ip_fw *, int, ipfw_insn *, int *, int *, int *); +static __always_inline void rule_forward_ip6(struct ip_fw_args *, ipfw_dyn_rule *, struct ip_fw *, int, ipfw_insn *, int *, int *, int *); #endif /* INET6 */ -static inline void rule_ngtee(struct ip_fw_args *, int, struct ip_fw_chain *, ipfw_insn *, uint32_t, int *, int *, int *); -static inline void rule_setfib(struct ip_fw *, int, uint32_t, ipfw_insn *, struct mbuf *, struct ip_fw_args *, int *); -static inline void rule_setdscp(ipfw_insn *, struct ip *, int, int, uint32_t, struct ip_fw *, int, int *); -static inline void rule_nat(struct ip_fw_args *, int, struct ip_fw_chain *, ipfw_insn *, struct mbuf *, uint32_t, int *, int *, int *); -static inline void rule_reass(struct ip_fw *, int, struct ip_fw_chain *, int, struct ip *, struct ip_fw_args *, struct mbuf *, int *, int *, int *); +static __always_inline void rule_ngtee(struct ip_fw_args *, int, struct ip_fw_chain *, ipfw_insn *, uint32_t, int *, int *, int *); +static __always_inline void rule_setfib(struct ip_fw *, int, uint32_t, ipfw_insn *, struct mbuf *, struct ip_fw_args *, int *); +static __always_inline void rule_setdscp(ipfw_insn *, struct ip *, int, int, uint32_t, struct ip_fw *, int, int *); +static __always_inline void rule_nat(struct ip_fw_args *, int, struct ip_fw_chain *, ipfw_insn *, struct mbuf *, uint32_t, int *, int *, int *); +static __always_inline void rule_reass(struct ip_fw *, int, struct ip_fw_chain *, int, struct ip *, struct ip_fw_args *, struct mbuf *, int *, int *, int *); /* JIT compiling API */ typedef int (*funcptr)();
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407231628.s6NGSvlN086763>
