]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/ip_flowid.h
xnu-7195.101.1.tar.gz
[apple/xnu.git] / bsd / netinet / ip_flowid.h
index aa3ac23c9ec6ec685f4b037bb5b3a810db27d346..47f6df61746c2edf7422eba0880857189a32eb2a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2012 Apple Inc. All rights reserved.
+ * Copyright (c) 2011-2019 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
@@ -82,7 +82,6 @@ struct ip_flow_id {
 struct route_in6;
 struct sockaddr_in6;
 struct pf_rule;
-struct ip_fw;
 
 /*
  * Arguments for calling ipfw_chk() and dummynet_io(). We put them
@@ -92,12 +91,10 @@ struct ip_fw;
 struct ip_fw_args {
        struct mbuf             *fwa_m;         /* the mbuf chain               */
        struct ifnet            *fwa_oif;       /* output interface             */
-       struct sockaddr_in      *fwa_next_hop;  /* forward address              */
-       struct ip_fw            *fwa_ipfw_rule; /* matching IPFW rule           */
        struct pf_rule          *fwa_pf_rule;   /* matching PF rule             */
        struct ether_header     *fwa_eh;        /* for bridged packets          */
-       int                     fwa_flags;      /* for dummynet                 */
-       int                     fwa_oflags;     /* for dummynet         */
+       int                     fwa_flags;      /* for dummynet                 */
+       int                     fwa_oflags;     /* for dummynet         */
        union {
                struct ip_out_args  *_fwa_ipoa;     /* for dummynet                */
                struct ip6_out_args *_fwa_ip6oa;    /* for dummynet               */
@@ -111,13 +108,11 @@ struct ip_fw_args {
                struct sockaddr_in6 *_fwa_dst6;     /* for IPv6 dummynet         */
        } fwa_dst_;
        struct route_in6        *fwa_ro6_pmtu;  /* for IPv6 output */
-       struct ifnet            *fwa_origifp;   /* for IPv6 output */
-       u_int32_t               fwa_mtu;        /* for IPv6 output */
-       int                     fwa_alwaysfrag; /* for IPv6 output */
-       u_int32_t               fwa_unfragpartlen;  /* for IPv6 output */
-       struct ip6_exthdrs      *fwa_exthdrs;   /* for IPv6 output */
+       struct ifnet            *fwa_origifp;   /* for IPv6 output */
+       u_int32_t               fwa_mtu;        /* for IPv6 output */
+       u_int32_t               fwa_unfragpartlen;  /* for IPv6 output */
+       struct ip6_exthdrs      *fwa_exthdrs;   /* for IPv6 output */
        struct ip_flow_id       fwa_id;         /* grabbed from IP header       */
-       u_int16_t               fwa_divert_rule;/* divert cookie                */
        u_int32_t               fwa_cookie;
 };
 #define fwa_ipoa fwa_ipoa_._fwa_ipoa
@@ -127,6 +122,11 @@ struct ip_fw_args {
 #define fwa_dst fwa_dst_._fwa_dst
 #define fwa_dst6 fwa_dst_._fwa_dst6
 
+/* Allocate a separate structure for inputs args to save space and bzero time */
+struct ip_fw_in_args {
+       struct pf_rule          *fwai_pf_rule;  /* matching PF rule           */
+};
+
 #endif /* BSD_KERNEL_PRIVATE */
 
 #endif /* __IP_FLOWID_H__ */