1*76404edcSAsim Jamshed #ifndef __IP_OUT_H_
2*76404edcSAsim Jamshed #define __IP_OUT_H_
3*76404edcSAsim Jamshed 
4*76404edcSAsim Jamshed #include <stdint.h>
5*76404edcSAsim Jamshed #include "tcp_stream.h"
6*76404edcSAsim Jamshed #include "mos_api.h"
7*76404edcSAsim Jamshed 
8*76404edcSAsim Jamshed extern inline int
9*76404edcSAsim Jamshed GetOutputInterface(uint32_t daddr);
10*76404edcSAsim Jamshed 
11*76404edcSAsim Jamshed void
12*76404edcSAsim Jamshed ForwardIPPacket(mtcp_manager_t mtcp, struct pkt_ctx *pctx);
13*76404edcSAsim Jamshed 
14*76404edcSAsim Jamshed void
15*76404edcSAsim Jamshed ForwardIPv4Packet(mtcp_manager_t mtcp, int nif_in, char *buf, int len);
16*76404edcSAsim Jamshed 
17*76404edcSAsim Jamshed uint8_t *
18*76404edcSAsim Jamshed IPOutputStandalone(struct mtcp_manager *mtcp,
19*76404edcSAsim Jamshed 		uint16_t ip_id, uint32_t saddr, uint32_t daddr, uint16_t tcplen,
20*76404edcSAsim Jamshed 		struct pkt_ctx *pctx, uint32_t cur_ts);
21*76404edcSAsim Jamshed 
22*76404edcSAsim Jamshed uint8_t *
23*76404edcSAsim Jamshed IPOutput(struct mtcp_manager *mtcp, tcp_stream *stream, uint16_t tcplen,
24*76404edcSAsim Jamshed 			struct pkt_ctx *pctx, uint32_t cur_ts);
25*76404edcSAsim Jamshed 
26*76404edcSAsim Jamshed #endif /* __IP_OUT_H_ */
27