lwIP 2.0.0
lwIP 2.0.0
LightweightIPstack
|
Modules | |
Flags | |
MIB2 statistics | |
Macros | |
#define | netif_is_up(netif) (((netif)->flags & NETIF_FLAG_UP) ? (u8_t)1 : (u8_t)0) |
#define | netif_ip_addr6(netif, i) ((const ip_addr_t*)(&((netif)->ip6_addr[i]))) |
#define | netif_ip6_addr(netif, i) ((const ip6_addr_t*)ip_2_ip6(&((netif)->ip6_addr[i]))) |
#define netif_ip6_addr | ( | netif, | |
i | |||
) | ((const ip6_addr_t*)ip_2_ip6(&((netif)->ip6_addr[i]))) |
#define netif_is_up | ( | netif | ) | (((netif)->flags & NETIF_FLAG_UP) ? (u8_t)1 : (u8_t)0) |
Ask if an interface is up
struct netif* netif_add | ( | struct netif * | netif, |
const ip4_addr_t * | ipaddr, | ||
const ip4_addr_t * | netmask, | ||
const ip4_addr_t * | gw, | ||
void * | state, | ||
netif_init_fn | init, | ||
netif_input_fn | input | ||
) |
Add a network interface to the list of lwIP netifs.
netif | a pre-allocated netif structure |
ipaddr | IP address for the new netif |
netmask | network mask for the new netif |
gw | default gateway IP address for the new netif |
state | opaque data passed to the new netif |
init | callback function that initializes the interface |
input | callback function that is called to pass ingress packets up in the protocol layer stack. It is recommended to use a function that passes the input directly to the stack (netif_input(), NO_SYS=1 mode) or via sending a message to TCPIP thread (tcpip_input(), NO_SYS=0 mode). These functions use netif flags NETIF_FLAG_ETHARP and NETIF_FLAG_ETHERNET to decide whether to forward to ethernet_input() or ip_input(). In other words, the functions only work when the netif driver is implemented correctly! |
err_t netif_add_ip6_address | ( | struct netif * | netif, |
const ip6_addr_t * | ip6addr, | ||
s8_t * | chosen_idx | ||
) |
This function allows for the easy addition of a new IPv6 address to an interface. It takes care of finding an empty slot and then sets the address tentative (to make sure that all the subsequent processing happens).
netif | netif to add the address on |
ip6addr | address to add |
chosen_idx | if != NULL, the chosen IPv6 address index will be stored here |
void netif_create_ip6_linklocal_address | ( | struct netif * | netif, |
u8_t | from_mac_48bit | ||
) |
Create a link-local IPv6 address on a netif (stored in slot 0)
netif | the netif to create the address on |
from_mac_48bit | if != 0, assume hwadr is a 48-bit MAC address (std conversion) if == 0, use hwaddr directly as interface ID |
struct netif* netif_find | ( | const char * | name | ) |
Find a network interface by searching for its name
name | the name of the netif (like netif->name) plus concatenated number in ascii representation (e.g. 'en0') |
Send an IP packet to be received on the same netif (loopif-like). The pbuf is simply copied and handed back to netif->input. In multithreaded mode, this is done directly since netif->input must put the packet on a queue. In callback mode, the packet is put on an internal queue and is fed to netif->input by netif_poll().
netif | the lwip network interface structure |
p | the (IP) packet to 'send' |
void netif_remove | ( | struct netif * | netif | ) |
Remove a network interface from the list of lwIP netifs.
netif | the network interface to remove |
void netif_set_addr | ( | struct netif * | netif, |
const ip4_addr_t * | ipaddr, | ||
const ip4_addr_t * | netmask, | ||
const ip4_addr_t * | gw | ||
) |
Change IP address configuration for a network interface (including netmask and default gateway).
netif | the network interface to change |
ipaddr | the new IP address |
netmask | the new netmask |
gw | the new default gateway |
void netif_set_default | ( | struct netif * | netif | ) |
Set a network interface as the default network interface (used to output all packets for which no specific route is found)
netif | the default network interface |
void netif_set_down | ( | struct netif * | netif | ) |
Bring an interface down, disabling any traffic processing.
void netif_set_gw | ( | struct netif * | netif, |
const ip4_addr_t * | gw | ||
) |
Change the default gateway for a network interface
netif | the network interface to change |
gw | the new default gateway |
void netif_set_ipaddr | ( | struct netif * | netif, |
const ip4_addr_t * | ipaddr | ||
) |
Change the IP address of a network interface
netif | the network interface to change |
ipaddr | the new IP address |
void netif_set_link_callback | ( | struct netif * | netif, |
netif_status_callback_fn | link_callback | ||
) |
Set callback to be called when link is brought up/down
void netif_set_link_down | ( | struct netif * | netif | ) |
Called by a driver when its link goes down
void netif_set_link_up | ( | struct netif * | netif | ) |
Called by a driver when its link goes up
void netif_set_netmask | ( | struct netif * | netif, |
const ip4_addr_t * | netmask | ||
) |
Change the netmask of a network interface
netif | the network interface to change |
netmask | the new netmask |
void netif_set_remove_callback | ( | struct netif * | netif, |
netif_status_callback_fn | remove_callback | ||
) |
Set callback to be called when the interface has been removed
void netif_set_up | ( | struct netif * | netif | ) |
Bring an interface up, available for processing traffic.