A version of LWIP, provided for backwards compatibility.

Dependents:   AA_DemoBoard DemoBoard HelloServerDemo DemoBoard_RangeIndicator ... more

Embed: (wiki syntax)

« Back to documentation index

netif.c File Reference

netif.c File Reference

lwIP network interface abstraction More...

Go to the source code of this file.

Functions

struct netifnetif_add (struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, struct ip_addr *gw, void *state, err_t(*init)(struct netif *netif), err_t(*input)(struct pbuf *p, struct netif *netif))
 Add a network interface to the list of lwIP netifs.
void netif_set_addr (struct netif *netif, struct ip_addr *ipaddr, struct ip_addr *netmask, struct ip_addr *gw)
 Change IP address configuration for a network interface (including netmask and default gateway).
void netif_remove (struct netif *netif)
 Remove a network interface from the list of lwIP netifs.
struct netifnetif_find (char *name)
 Find a network interface by searching for its name.
void netif_set_ipaddr (struct netif *netif, struct ip_addr *ipaddr)
 Change the IP address of a network interface.
void netif_set_gw (struct netif *netif, struct ip_addr *gw)
 Change the default gateway for a network interface.
void netif_set_netmask (struct netif *netif, struct ip_addr *netmask)
 Change the netmask of a network interface.
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)
void netif_set_up (struct netif *netif)
 Bring an interface up, available for processing traffic.
void netif_set_down (struct netif *netif)
 Bring an interface down, disabling any traffic processing.
u8_t netif_is_up (struct netif *netif)
 Ask if an interface is up.
void netif_set_status_callback (struct netif *netif, void(*status_callback)(struct netif *netif))
 Set callback to be called when interface is brought up/down.
void netif_set_link_up (struct netif *netif)
 Called by a driver when its link goes up.
void netif_set_link_down (struct netif *netif)
 Called by a driver when its link goes down.
u8_t netif_is_link_up (struct netif *netif)
 Ask if a link is up.
void netif_set_link_callback (struct netif *netif, void(*link_callback)(struct netif *netif))
 Set callback to be called when link is brought up/down.

Variables

struct netifnetif_list
 The list of network interfaces.
struct netifnetif_default
 The default network interface.

Detailed Description

lwIP network interface abstraction

Definition in file tag/0.5/lwIP/core/netif.c.


Function Documentation

struct netif* netif_add ( struct netif netif,
struct ip_addr *  ipaddr,
struct ip_addr *  netmask,
struct ip_addr *  gw,
void *  state,
err_t(*)(struct netif *netif init,
err_t(*)(struct pbuf *p, struct netif *netif input 
) [read]

Add a network interface to the list of lwIP netifs.

Parameters:
netifa pre-allocated netif structure
ipaddrIP address for the new netif
netmasknetwork mask for the new netif
gwdefault gateway IP address for the new netif
stateopaque data passed to the new netif
initcallback function that initializes the interface
inputcallback function that is called to pass ingress packets up in the protocol layer stack.
Returns:
netif, or NULL if failed.

Definition at line 79 of file tag/0.5/lwIP/core/netif.c.

struct netif* netif_find ( char *  name ) [read]

Find a network interface by searching for its name.

Parameters:
namethe name of the netif (like netif->name) plus concatenated number in ascii representation (e.g. 'en0')

Definition at line 216 of file tag/0.5/lwIP/core/netif.c.

u8_t netif_is_link_up ( struct netif netif )

Ask if a link is up.

Definition at line 486 of file tag/0.5/lwIP/core/netif.c.

u8_t netif_is_up ( struct netif netif )

Ask if an interface is up.

Definition at line 429 of file tag/0.5/lwIP/core/netif.c.

void netif_remove ( struct netif netif )

Remove a network interface from the list of lwIP netifs.

Parameters:
netifthe network interface to remove

Definition at line 171 of file tag/0.5/lwIP/core/netif.c.

void netif_set_addr ( struct netif netif,
struct ip_addr *  ipaddr,
struct ip_addr *  netmask,
struct ip_addr *  gw 
)

Change IP address configuration for a network interface (including netmask and default gateway).

Parameters:
netifthe network interface to change
ipaddrthe new IP address
netmaskthe new netmask
gwthe new default gateway

Definition at line 158 of file tag/0.5/lwIP/core/netif.c.

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)

Parameters:
netifthe default network interface

Definition at line 352 of file tag/0.5/lwIP/core/netif.c.

void netif_set_down ( struct netif netif )

Bring an interface down, disabling any traffic processing.

Note:
: Enabling DHCP on a down interface will make it come up once configured.
See also:
dhcp_start()

Definition at line 412 of file tag/0.5/lwIP/core/netif.c.

void netif_set_gw ( struct netif netif,
struct ip_addr *  gw 
)

Change the default gateway for a network interface.

Parameters:
netifthe network interface to change
gwthe new default gateway
Note:
call netif_set_addr() if you also want to change ip address and netmask

Definition at line 310 of file tag/0.5/lwIP/core/netif.c.

void netif_set_ipaddr ( struct netif netif,
struct ip_addr *  ipaddr 
)

Change the IP address of a network interface.

Parameters:
netifthe network interface to change
ipaddrthe new IP address
Note:
call netif_set_addr() if you also want to change netmask and default gateway

Definition at line 249 of file tag/0.5/lwIP/core/netif.c.

void netif_set_link_callback ( struct netif netif,
void(*)(struct netif *netif link_callback 
)

Set callback to be called when link is brought up/down.

Definition at line 494 of file tag/0.5/lwIP/core/netif.c.

void netif_set_link_down ( struct netif netif )

Called by a driver when its link goes down.

Definition at line 477 of file tag/0.5/lwIP/core/netif.c.

void netif_set_link_up ( struct netif netif )

Called by a driver when its link goes up.

For Ethernet network interfaces, we would like to send a "gratuitous ARP"; this is an ARP packet sent by a node in order to spontaneously cause other nodes to update an entry in their ARP cache. From RFC 3220 "IP Mobility Support for IPv4" section 4.6.

Definition at line 449 of file tag/0.5/lwIP/core/netif.c.

void netif_set_netmask ( struct netif netif,
struct ip_addr *  netmask 
)

Change the netmask of a network interface.

Parameters:
netifthe network interface to change
netmaskthe new netmask
Note:
call netif_set_addr() if you also want to change ip address and default gateway

Definition at line 331 of file tag/0.5/lwIP/core/netif.c.

void netif_set_status_callback ( struct netif netif,
void(*)(struct netif *netif status_callback 
)

Set callback to be called when interface is brought up/down.

Definition at line 438 of file tag/0.5/lwIP/core/netif.c.

void netif_set_up ( struct netif netif )

Bring an interface up, available for processing traffic.

Note:
: Enabling DHCP on a down interface will make it come up once configured.
See also:
dhcp_start()

For Ethernet network interfaces, we would like to send a "gratuitous ARP"; this is an ARP packet sent by a node in order to spontaneously cause other nodes to update an entry in their ARP cache. From RFC 3220 "IP Mobility Support for IPv4" section 4.6.

Definition at line 378 of file tag/0.5/lwIP/core/netif.c.


Variable Documentation

The default network interface.

Definition at line 62 of file tag/0.5/lwIP/core/netif.c.

struct netif* netif_list

The list of network interfaces.

Definition at line 61 of file tag/0.5/lwIP/core/netif.c.