74#ifdef LWIP_HOOK_IP4_ROUTE_SRC
75#define LWIP_IPV4_SRC_ROUTING 1
77#define LWIP_IPV4_SRC_ROUTING 0
81#define IP_OPTIONS_SEND (LWIP_IPV4 && LWIP_IGMP)
84struct netif *ip4_route(
const ip4_addr_t *dest);
85#if LWIP_IPV4_SRC_ROUTING
86struct netif *ip4_route_src(
const ip4_addr_t *dest,
const ip4_addr_t *src);
88#define ip4_route_src(dest, src) ip4_route(dest)
91err_t ip4_output(
struct pbuf *p,
const ip4_addr_t *src,
const ip4_addr_t *dest,
92 u8_t ttl, u8_t tos, u8_t proto);
93err_t ip4_output_if(
struct pbuf *p,
const ip4_addr_t *src,
const ip4_addr_t *dest,
94 u8_t ttl, u8_t tos, u8_t proto,
struct netif *
netif);
95err_t ip4_output_if_src(
struct pbuf *p,
const ip4_addr_t *src,
const ip4_addr_t *dest,
96 u8_t ttl, u8_t tos, u8_t proto,
struct netif *
netif);
97#if LWIP_NETIF_HWADDRHINT
98err_t ip4_output_hinted(
struct pbuf *p,
const ip4_addr_t *src,
const ip4_addr_t *dest,
99 u8_t ttl, u8_t tos, u8_t proto, u8_t *addr_hint);
102err_t ip4_output_if_opt(
struct pbuf *p,
const ip4_addr_t *src,
const ip4_addr_t *dest,
103 u8_t ttl, u8_t tos, u8_t proto,
struct netif *
netif,
void *ip_options,
105err_t ip4_output_if_opt_src(
struct pbuf *p,
const ip4_addr_t *src,
const ip4_addr_t *dest,
106 u8_t ttl, u8_t tos, u8_t proto,
struct netif *
netif,
void *ip_options,
110#if LWIP_MULTICAST_TX_OPTIONS
111void ip4_set_default_multicast_netif(
struct netif* default_multicast_netif);
114#define ip4_netif_get_local_ip(netif) (((netif) != NULL) ? netif_ip_addr4(netif) : NULL)
117void ip4_debug_print(
struct pbuf *p);
119#define ip4_debug_print(p)