Symbols
loading...
Files
loading...

netif struct

Generic data structure used for all lwIP network interfaces. The following fields should be filled in by the initialization function for the device driver: hwaddr_len, hwaddr[], mtu, flags

Syntax

struct netif;
Implemented in netif.h:260

Fields

next

pointer to next in linked list. Read more...

ip_addr

IP address configuration in network byte order. Read more...

netmask

No summary provided. Read more...

gw

No summary provided. Read more...

input

This function is called by the network device driver to pass a packet up the TCP/IP stack. Read more...

output

This function is called by the IP module when it wants to send a packet on the interface. This function typically first resolves the hardware address, then sends the packet. For ethernet physical layer, this is usually etharp_output(). Read more...

linkoutput

This function is called by ethernet_output() when it wants to send a packet on the interface. This function outputs the pbuf as-is on the link medium. Read more...
This function is called when the netif link is set to up or down. Read more...

state

This field can be set by the device driver and could point to state information for the device. Read more...

client_data

No summary provided. Read more...

mtu

maximum transfer unit (in bytes). Read more...

hwaddr

link level hardware address of this interface. Read more...

hwaddr_len

number of bytes used in hwaddr. Read more...

flags

flags (@see netif_flags). Read more...

name

descriptive abbreviation. Read more...

num

number of this interface. Used for if_api and netifapi_netif, as well as for IPv6 zones. Read more...

rs_count

Number of Router Solicitation messages that remain to be sent. Read more...

Examples

netif is referenced by 35 libraries and example projects.

References

LocationReferrerScopeText
netif.h:260
struct netif {
ip4_addr.h:60
struct netif;
netif.h:152
struct netif;
snmp.h:48
struct netif;
tcpip.h:67
struct netif;
tcpip_priv.h:53
struct netif;
api_msg.c:1258lwip_netconn_do_bind_if()
struct netif *netif;
dhcp.c:191dhcp_discover()::netifdhcp_discover()
static err_t dhcp_discover(struct netif *netif);
dhcp.c:192dhcp_select()::netifdhcp_select()
static err_t dhcp_select(struct netif *netif);
dhcp.c:193dhcp_bind()::netifdhcp_bind()
static void dhcp_bind(struct netif *netif);
dhcp.c:195dhcp_decline()::netifdhcp_decline()
static err_t dhcp_decline(struct netif *netif);
dhcp.c:197dhcp_rebind()::netifdhcp_rebind()
static err_t dhcp_rebind(struct netif *netif);
dhcp.c:198dhcp_reboot()::netifdhcp_reboot()
static err_t dhcp_reboot(struct netif *netif);
dhcp.c:205dhcp_timeout()::netifdhcp_timeout()
static void dhcp_timeout(struct netif *netif);
dhcp.c:206dhcp_t1_timeout()::netifdhcp_t1_timeout()
static void dhcp_t1_timeout(struct netif *netif);
dhcp.c:207dhcp_t2_timeout()::netifdhcp_t2_timeout()
static void dhcp_t2_timeout(struct netif *netif);
dhcp.c:211dhcp_create_msg()::netifdhcp_create_msg()
static struct pbuf *dhcp_create_msg(struct netif *netif, struct dhcp *dhcp, u8_t message_type, u16_t *options_out_len);
dhcp.c:277dhcp_handle_nak()
dhcp_handle_nak(struct netif *netif)
dhcp.c:303dhcp_check()
dhcp_check(struct netif *netif)
dhcp.c:332dhcp_handle_offer()
dhcp_handle_offer(struct netif *netif, struct dhcp_msg *msg_in)
dhcp.c:366dhcp_select()
dhcp_select(struct netif *netif)
dhcp.c:432dhcp_coarse_tmr()
struct netif *netif;
dhcp.c:470dhcp_fine_tmr()
struct netif *netif;
dhcp.c:499dhcp_timeout()
dhcp_timeout(struct netif *netif)
dhcp.c:546dhcp_t1_timeout()
dhcp_t1_timeout(struct netif *netif)
dhcp.c:573dhcp_t2_timeout()
dhcp_t2_timeout(struct netif *netif)
dhcp.c:599dhcp_handle_ack()
dhcp_handle_ack(struct netif *netif, struct dhcp_msg *msg_in)
dhcp.c:690dhcp_set_struct()
dhcp_set_struct(struct netif *netif, struct dhcp *dhcp)
dhcp.c:712dhcp_cleanup()
void dhcp_cleanup(struct netif *netif)
dhcp.c:737dhcp_start()
dhcp_start(struct netif *netif)
dhcp.c:814dhcp_inform()
dhcp_inform(struct netif *netif)
dhcp.c:858dhcp_network_changed()
dhcp.c:903dhcp_arp_reply()
dhcp_arp_reply(struct netif *netif, const ip4_addr_t *addr)
dhcp.c:935dhcp_decline()
dhcp_decline(struct netif *netif)
dhcp.c:981dhcp_discover()
dhcp_discover(struct netif *netif)
dhcp.c:1040dhcp_bind()
dhcp_bind(struct netif *netif)
dhcp.c:1150dhcp_renew()
dhcp_renew(struct netif *netif)
dhcp.c:1206dhcp_rebind()
dhcp_rebind(struct netif *netif)
dhcp.c:1260dhcp_reboot()
dhcp_reboot(struct netif *netif)
dhcp.c:1318dhcp_release_and_stop()
dhcp.c:1394dhcp_release()
dhcp_release(struct netif *netif)
dhcp.c:1406dhcp_stop()
dhcp_stop(struct netif *netif)
dhcp.c:1756dhcp_recv()
struct netif *netif = ip_current_input_netif();
dhcp.c:1874dhcp_create_msg()
dhcp.c:1980dhcp_supplied_address()::netifdhcp_supplied_address()
dhcp_supplied_address(const struct netif *netif)
dhcp.h:104dhcp_set_struct()::netifdhcp_set_struct()
void dhcp_set_struct(struct netif *netif, struct dhcp *dhcp);
dhcp.h:107dhcp_cleanup()::netifdhcp_cleanup()
void dhcp_cleanup(struct netif *netif);
dhcp.h:108dhcp_start()::netifdhcp_start()
err_t dhcp_start(struct netif *netif);
dhcp.h:109dhcp_renew()::netifdhcp_renew()
err_t dhcp_renew(struct netif *netif);
dhcp.h:110dhcp_release()::netifdhcp_release()
err_t dhcp_release(struct netif *netif);
dhcp.h:111dhcp_stop()::netifdhcp_stop()
void dhcp_stop(struct netif *netif);
dhcp.h:112dhcp_release_and_stop()::netifdhcp_release_and_stop()
void dhcp_release_and_stop(struct netif *netif);
dhcp.h:113dhcp_inform()::netifdhcp_inform()
void dhcp_inform(struct netif *netif);
dhcp.h:114dhcp_network_changed()::netifdhcp_network_changed()
void dhcp_network_changed(struct netif *netif);
dhcp.h:116dhcp_arp_reply()::netifdhcp_arp_reply()
void dhcp_arp_reply(struct netif *netif, const ip4_addr_t *addr);
dhcp.h:118dhcp_supplied_address()::netifdhcp_supplied_address()
u8_t dhcp_supplied_address(const struct netif *netif);
etharp.c:99etharp_entry::netifetharp_entry
struct netif *netif;
etharp.c:133etharp_request_dst()::netifetharp_request_dst()
static err_t etharp_request_dst(struct netif *netif, const ip4_addr_t *ipaddr, const struct eth_addr *hw_dst_addr);
etharp.c:134etharp_raw()::netifetharp_raw()
static err_t etharp_raw(struct netif *netif,
etharp.c:256etharp_find_entry()
etharp.c:422etharp_update_arp_entry()
etharp.c:559etharp_cleanup_netif()
etharp.c:583etharp_find_addr()
etharp_find_addr(struct netif *netif, const ip4_addr_t *ipaddr,
etharp.c:612etharp_get_entry()
etharp_get_entry(size_t i, ip4_addr_t **ipaddr, struct netif **netif, struct eth_addr **eth_ret)
etharp.c:641etharp_input()
etharp_input(struct pbuf *p, struct netif *netif)
etharp.c:748etharp_output_to_arp_index()
etharp.c:791etharp_output()
etharp_output(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr)
etharp.c:933etharp_query()
etharp_query(struct netif *netif, const ip4_addr_t *ipaddr, struct pbuf *q)
etharp.c:1101etharp_raw()
etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr,
etharp.c:1181etharp_request_dst()
etharp_request_dst(struct netif *netif, const ip4_addr_t *ipaddr, const struct eth_addr *hw_dst_addr)
etharp.c:1198etharp_request()
etharp_request(struct netif *netif, const ip4_addr_t *ipaddr)
etharp.h:78etharp_find_addr()::netifetharp_find_addr()
etharp.h:80etharp_get_entry()::netifetharp_get_entry()
int etharp_get_entry(size_t i, ip4_addr_t **ipaddr, struct netif **netif, struct eth_addr **eth_ret);
etharp.h:81etharp_output()::netifetharp_output()
err_t etharp_output(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr);
etharp.h:82etharp_query()::netifetharp_query()
err_t etharp_query(struct netif *netif, const ip4_addr_t *ipaddr, struct pbuf *q);
etharp.h:83etharp_request()::netifetharp_request()
err_t etharp_request(struct netif *netif, const ip4_addr_t *ipaddr);
etharp.h:89etharp_cleanup_netif()::netifetharp_cleanup_netif()
void etharp_cleanup_netif(struct netif *netif);
etharp.h:96etharp_input()::netifetharp_input()
void etharp_input(struct pbuf *p, struct netif *netif);
ethernet.c:81ethernet_input()
ethernet_input(struct pbuf *p, struct netif *netif)
ethernet.c:270ethernet_output()
ethernet_output(struct netif * netif, struct pbuf * p,
ethernet.h:66ethernet_input()::netifethernet_input()
err_t ethernet_input(struct pbuf *p, struct netif *netif);
ethernet.h:67ethernet_output()::netifethernet_output()
err_t ethernet_output(struct netif* netif, struct pbuf* p, const struct eth_addr* src, const struct eth_addr* dst, u16_t eth_type);
icmp.c:80icmp_input()
icmp_input(struct pbuf *p, struct netif *inp)
icmp.c:347icmp_send_response()
struct netif *netif;
icmp.h:80icmp_input()::inpicmp_input()
void icmp_input(struct pbuf *p, struct netif *inp);
ip.h:110ip_globals::current_netifip_globals
struct netif *current_netif;
ip.h:112ip_globals::current_input_netifip_globals
struct netif *current_input_netif;
ip4.c:151ip4_route()
struct netif *
ip4.c:155ip4_route()
struct netif *netif;
ip4.c:374ip4_input_accept()
ip4_input_accept(struct netif *netif)
ip4.c:426ip4_input()
ip4_input(struct pbuf *p, struct netif *inp)
ip4.c:429ip4_input()
struct netif *netif;
ip4.c:789ip4_output_if()
u8_t proto, struct netif *netif)
ip4.c:829ip4_output_if_src()
u8_t proto, struct netif *netif)
ip4.c:1031ip4_output()
struct netif *netif;
ip4.h:65ip4_route()
struct netif *ip4_route(const ip4_addr_t *dest);
ip4.h:71ip4_input()::inpip4_input()
err_t ip4_input(struct pbuf *p, struct netif *inp);
ip4.h:75ip4_output_if()::netifip4_output_if()
u8_t ttl, u8_t tos, u8_t proto, struct netif *netif);
ip4.h:77ip4_output_if_src()::netifip4_output_if_src()
u8_t ttl, u8_t tos, u8_t proto, struct netif *netif);
ip4_addr.c:58ip4_addr_isbroadcast_u32()::netifip4_addr_isbroadcast_u32()
ip4_addr.h:151ip4_addr_isbroadcast_u32()::netifip4_addr_isbroadcast_u32()
ip4_frag.c:740ip4_frag()
ip4_frag(struct pbuf *p, struct netif *netif, const ip4_addr_t *dest)
ip4_frag.h:91ip4_frag()::netifip4_frag()
err_t ip4_frag(struct pbuf *p, struct netif *netif, const ip4_addr_t *dest);
netif.c:110netif_list
struct netif *netif_list;
netif.c:112netif_default
struct netif *netif_default;
netif.c:123netif_issue_reports()::netifnetif_issue_reports()
static void netif_issue_reports(struct netif *netif, u8_t report_type);
netif.c:129netif_null_output_ip4()::netifnetif_null_output_ip4()
static err_t netif_null_output_ip4(struct netif *netif, struct pbuf *p, const ip4_addr_t *ipaddr);
netif.c:217netif_input()
netif_input(struct pbuf *p, struct netif *inp)
netif.c:238netif_add_noaddr()
struct netif *
netif.c:239netif_add_noaddr()
netif.c:275netif_add()
struct netif *
netif.c:276netif_add()
netif_add(struct netif *netif,
netif.c:387netif_add()
struct netif *netif2;
netif.c:457netif_do_set_ipaddr()
netif.c:500netif_set_ipaddr()
netif_set_ipaddr(struct netif *netif, const ip4_addr_t *ipaddr)
netif.c:523netif_do_set_netmask()
netif.c:560netif_set_netmask()
netif_set_netmask(struct netif *netif, const ip4_addr_t *netmask)
netif.c:587netif_do_set_gw()
netif.c:621netif_set_gw()
netif_set_gw(struct netif *netif, const ip4_addr_t *gw)
netif.c:658netif_set_addr()
netif_set_addr(struct netif *netif, const ip4_addr_t *ipaddr, const ip4_addr_t *netmask,
netif.c:737netif_remove()
netif_remove(struct netif *netif)
netif.c:793netif_remove()
struct netif *tmp_netif;
netif.c:822netif_set_default()
netif_set_default(struct netif *netif)
netif.c:844netif_set_up()
netif_set_up(struct netif *netif)
netif.c:875netif_issue_reports()
netif.c:919netif_set_down()
netif_set_down(struct netif *netif)
netif.c:988netif_set_link_up()
netif_set_link_up(struct netif *netif)
netif.c:1026netif_set_link_down()
netif_set_link_down(struct netif *netif)
netif.c:1051netif_set_link_callback()
netif.c:1619netif_null_output_ip4()
netif_null_output_ip4(struct netif *netif, struct pbuf *p, const ip4_addr_t *ipaddr)
netif.c:1639netif_name_to_index()
struct netif *netif = netif_find(name);
netif.c:1658netif_index_to_name()
struct netif *netif = netif_get_by_index(idx);
netif.c:1675netif_get_by_index()
struct netif *
netif.c:1678netif_get_by_index()
struct netif *netif;
netif.c:1700netif_find()
struct netif *
netif.c:1703netif_find()
struct netif *netif;
netif.h:168netif_init_fn::netif
typedef err_t (*netif_init_fn)(struct netif *netif);
netif.h:178netif_input_fn::inp
typedef err_t (*netif_input_fn)(struct pbuf *p, struct netif *inp);
netif.h:189netif_output_fn::netif
typedef err_t (*netif_output_fn)(struct netif *netif, struct pbuf *p,
netif.h:212netif_linkoutput_fn::netif
typedef err_t (*netif_linkoutput_fn)(struct netif *netif, struct pbuf *p);
netif.h:214netif_status_callback_fn::netif
typedef void (*netif_status_callback_fn)(struct netif *netif);
netif.h:263netif::nextnetif
struct netif *next;
netif.h:405netif_list
extern struct netif *netif_list;
netif.h:409netif_default
extern struct netif *netif_default;
netif.h:413netif_add_noaddr()
struct netif *netif_add_noaddr(struct netif *netif, void *state, netif_init_fn init, netif_input_fn input);
netif.h:416netif_add()
struct netif *netif_add(struct netif *netif,
netif.h:419netif_set_addr()::netifnetif_set_addr()
void netif_set_addr(struct netif *netif, const ip4_addr_t *ipaddr, const ip4_addr_t *netmask,
netif.h:424netif_remove()::netifnetif_remove()
void netif_remove(struct netif * netif);
netif.h:430netif_find()
struct netif *netif_find(const char *name);
netif.h:432netif_set_default()::netifnetif_set_default()
void netif_set_default(struct netif *netif);
netif.h:435netif_set_ipaddr()::netifnetif_set_ipaddr()
void netif_set_ipaddr(struct netif *netif, const ip4_addr_t *ipaddr);
netif.h:436netif_set_netmask()::netifnetif_set_netmask()
void netif_set_netmask(struct netif *netif, const ip4_addr_t *netmask);
netif.h:437netif_set_gw()::netifnetif_set_gw()
void netif_set_gw(struct netif *netif, const ip4_addr_t *gw);
netif.h:456netif_set_up()::netifnetif_set_up()
void netif_set_up(struct netif *netif);
netif.h:457netif_set_down()::netifnetif_set_down()
void netif_set_down(struct netif *netif);
netif.h:470netif_set_link_up()::netifnetif_set_link_up()
void netif_set_link_up(struct netif *netif);
netif.h:471netif_set_link_down()::netifnetif_set_link_down()
void netif_set_link_down(struct netif *netif);
netif.h:476netif_set_link_callback()::netifnetif_set_link_callback()
netif.h:507netif_input()::inpnetif_input()
err_t netif_input(struct pbuf *p, struct netif *inp);
netif.h:553netif_get_by_index()
struct netif* netif_get_by_index(u8_t idx);
netif.h:644netif_ext_callback_fn::netif
typedef void (*netif_ext_callback_fn)(struct netif* netif, netif_nsc_reason_t reason, const netif_ext_callback_args_t* args);
sockets.c:3423lwip_setsockopt_impl()
struct netif *n = NULL;
tcp.c:763tcp_bind_netif()::netiftcp_bind_netif()
tcp_bind_netif(struct tcp_pcb *pcb, const struct netif *netif)
tcp.c:1070tcp_connect()
struct netif *netif = NULL;
tcp.c:2238tcp_eff_send_mss_netif()
tcp.h:460tcp_bind_netif()::netiftcp_bind_netif()
void tcp_bind_netif(struct tcp_pcb *pcb, const struct netif *netif);
tcp_in.c:118tcp_input()
tcp_input(struct pbuf *p, struct netif *inp)
tcp_out.c:128tcp_output_segment()::netiftcp_output_segment()
static err_t tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb, struct netif *netif);
tcp_out.c:131tcp_route()
static struct netif *
tcp_out.c:1242tcp_output()
struct netif *netif;
tcp_out.c:1455tcp_output_segment()
tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb, struct netif *netif)
tcp_out.c:1925tcp_output_control_segment()
struct netif *netif;
tcp_priv.h:77tcp_input()::inptcp_input()
void tcp_input (struct pbuf *p, struct netif *inp);
tcp_priv.h:479tcp_eff_send_mss_netif()::outiftcp_eff_send_mss_netif()
tcpip.c:240tcpip_inpkt()
tcpip_inpkt(struct pbuf *p, struct netif *inp, netif_input_fn input_fn)
tcpip.c:283tcpip_input()
tcpip_input(struct pbuf *p, struct netif *inp)
tcpip.h:79tcpip_inpkt()::inptcpip_inpkt()
err_t tcpip_inpkt(struct pbuf *p, struct netif *inp, netif_input_fn input_fn);
tcpip.h:80tcpip_input()::inptcpip_input()
err_t tcpip_input(struct pbuf *p, struct netif *inp);
tcpip_priv.h:146tcpip_msg::::::netiftcpip_msg::::
struct netif *netif;
udp.c:130udp_input_local_match()
udp.c:194udp_input()
udp_input(struct pbuf *p, struct netif *inp)
udp.c:534udp_sendto()
struct netif *netif;
udp.c:625udp_sendto_if()
const ip_addr_t *dst_ip, u16_t dst_port, struct netif *netif)
udp.c:700udp_sendto_if_src()
const ip_addr_t *dst_ip, u16_t dst_port, struct netif *netif, const ip_addr_t *src_ip)
udp.c:1042udp_bind_netif()::netifudp_bind_netif()
udp_bind_netif(struct udp_pcb *pcb, const struct netif *netif)
udp.h:124udp_bind_netif()::netifudp_bind_netif()
void udp_bind_netif (struct udp_pcb *pcb, const struct netif* netif);
udp.h:132udp_sendto_if()::netifudp_sendto_if()
struct netif *netif);
udp.h:135udp_sendto_if_src()::netifudp_sendto_if_src()
struct netif *netif, const ip_addr_t *src_ip);
udp.h:163udp_input()::inpudp_input()
void udp_input (struct pbuf *p, struct netif *inp);

Type Use

Variables of netif type
netif_init_fn::netif
netif_input_fn::inp
netif_output_fn::netif
netif_linkoutput_fn::netif
netif_status_callback_fn::netif
netif_ext_callback_fn::netif
lwip_netconn_do_bind_if()::netif
lwip_setsockopt_impl()::n
netif_add()::netif2
netif_remove()::tmp_netif
netif_name_to_index()::netif
netif_index_to_name()::netif
netif_get_by_index()::netif
netif_find()::netif
tcp_connect()::netif
tcp_output()::netif
tcp_output_control_segment()::netif
udp_sendto()::netif
dhcp_coarse_tmr()::netif
dhcp_fine_tmr()::netif
dhcp_recv()::netif
icmp_send_response()::netif
ip4_route()::netif
ip4_input()::netif
ip4_output()::netif
all items filtered out
netif