summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_var.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/ip_var.h')
-rw-r--r--sys/netinet/ip_var.h25
1 files changed, 9 insertions, 16 deletions
diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h
index 23d1d00..4bd600d 100644
--- a/sys/netinet/ip_var.h
+++ b/sys/netinet/ip_var.h
@@ -65,6 +65,8 @@ struct ipq {
struct mbuf *ipq_frags; /* to ip headers of fragments */
struct in_addr ipq_src,ipq_dst;
u_char ipq_nfrags; /* # frags in this packet */
+ u_int32_t ipq_div_info; /* ipfw divert port & flags */
+ u_int16_t ipq_div_cookie; /* ipfw divert cookie */
struct label *ipq_label; /* MAC label */
};
#endif /* _KERNEL */
@@ -195,23 +197,14 @@ extern int (*ip_rsvp_vif)(struct socket *, struct sockopt *);
extern void (*ip_rsvp_force_done)(struct socket *);
extern void (*rsvp_input_p)(struct mbuf *m, int off);
-#define M_FASTFWD_OURS M_PROTO1 /* sent by ip_fastforward to ip_input */
-/*
- * Return the next hop address associated with the mbuf; if any.
- * If a tag is present it is also removed.
- */
-static __inline struct sockaddr_in *
-ip_claim_next_hop(struct mbuf *m)
-{
- struct m_tag *mtag = m_tag_find(m, PACKET_TAG_IPFORWARD, NULL);
- if (mtag) {
- struct sockaddr_in *sin = *(struct sockaddr_in **)(mtag+1);
- m_tag_delete(m, mtag);
- return sin;
- } else
- return NULL;
-}
+#ifdef IPDIVERT
+void div_init(void);
+void div_input(struct mbuf *, int);
+void div_ctlinput(int, struct sockaddr *, void *);
+void divert_packet(struct mbuf *m, int incoming, int port, int rule);
+extern struct pr_usrreqs div_usrreqs;
+#endif
#ifdef PFIL_HOOKS
extern struct pfil_head inet_pfil_hook;
OpenPOWER on IntegriCloud