mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-12-25 18:14:53 +00:00
Added LWIP_HOOK_ETHIP6_GET_GW()
Signed-off-by: sg <goldsimon@gmx.de>
This commit is contained in:
parent
1c184da615
commit
86b01e4f29
@ -6,6 +6,9 @@ HISTORY
|
||||
|
||||
++ New features:
|
||||
|
||||
2016-12-13: Pradip De
|
||||
* opt.h, ethip6.c: Added LWIP_HOOK_ETHIP6_GET_GW()
|
||||
|
||||
2016-12-09: Dirk Ziegelmeier
|
||||
* ip6_frag.c: Implemented support for LWIP_NETIF_TX_SINGLE_PBUF
|
||||
|
||||
|
@ -96,6 +96,19 @@ ethip6_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr)
|
||||
|
||||
/* We have a unicast destination IP address */
|
||||
/* @todo anycast? */
|
||||
|
||||
#ifdef LWIP_HOOK_ETHIP6_GET_GW
|
||||
{
|
||||
/* See if a gateway is present for the destination address in a routing table */
|
||||
const ip6_addr_t *gateway = LWIP_HOOK_ETHIP6_GET_GW(netif, ip6addr);
|
||||
if (gateway != NULL) {
|
||||
/* Replace the destination with the gateway. The gateway is
|
||||
assumed to be on-link. */
|
||||
ip6addr = gateway;
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_HOOK_ETHIP6_GET_GW */
|
||||
|
||||
/* Get next hop record. */
|
||||
i = nd6_get_next_hop_entry(ip6addr, netif);
|
||||
if (i < 0) {
|
||||
|
@ -2433,7 +2433,7 @@
|
||||
* - dest: the destination IPv4 address
|
||||
* Returns the IPv4 address of the gateway to handle the specified destination
|
||||
* IPv4 address. If NULL is returned, the netif's default gateway is used.
|
||||
* The returned address MUST be reachable on the specified netif!
|
||||
* The returned address MUST be directly reachable on the specified netif!
|
||||
* This function is meant to implement advanced IPv4 routing together with
|
||||
* LWIP_HOOK_IP4_ROUTE(). The actual routing/gateway table implementation is
|
||||
* not part of lwIP but can e.g. be hidden in the netif's state argument.
|
||||
@ -2469,6 +2469,19 @@
|
||||
#define LWIP_HOOK_IP6_ROUTE(src, dest)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* LWIP_HOOK_ETHIP6_GET_GW(netif, dest):
|
||||
* - called from ethip6_output() (IPv6)
|
||||
* - netif: the netif used for sending
|
||||
* - dest: the destination IPv6 address
|
||||
* Returns the IPv6 address of the gateway to handle the specified destination
|
||||
* IPv6 address. If NULL is returned, the default nexthop is used.
|
||||
* The returned address MUST be directly reachable on the specified netif!
|
||||
*/
|
||||
#ifdef __DOXYGEN__
|
||||
#define LWIP_HOOK_ETHIP6_GET_GW(netif, dest)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr):
|
||||
* - called from ethernet_input() if VLAN support is enabled
|
||||
|
Loading…
Reference in New Issue
Block a user