History log of /seL4-camkes-master/projects/lwip/src/include/lwip/netif.h
Revision Date Author Comments
# b398a2a3 03-Jul-2018 Simon Goldschmidt <goldsimon@gmx.de>

fix implicit cast warnings in IAR and others

See bug #54190

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>


# 944f286d 13-Jun-2018 Simon Goldschmidt <goldsimon@gmx.de>

fix bug in RA MTU validation

Also fix that RA could change IPv4 MTU.
See bug #53696

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>


# 11c294e9 17-May-2018 Simon Goldschmidt <goldsimon@gmx.de>

fix type conversion errors introduced with last commit


# 0c2fdfcf 17-May-2018 Simon Goldschmidt <goldsimon@gmx.de>

Fix bug #53667: ARP table max size is to small

arp table functions, nd6 destination cache and struct netif_hint
can now be u16_t or u8_t depending on table size, so up to 32K
entries can be used in these tables (s16_t)

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>


# 61a1b98c 07-Mar-2018 goldsimon <goldsimon@gmx.de>

various IPv6-only compile fixes


# d9770d2c 28-Feb-2018 goldsimon <goldsimon@gmx.de>

tcpip_thread: TCPIP_MSG_INPKT: free input pbufs if the input function returns an error

This simply wasn't the case until 6LoWPAN. However, since tcpip_input is like this, we
should stay with that pattern.

Adapted documentation in netif.h

Signed-off-by: goldsimon <goldsimon@gmx.de>


# 76a13054 22-Feb-2018 goldsimon <goldsimon@gmx.de>

add initial support for stateless DHCPv6

Signed-off-by: goldsimon <goldsimon@gmx.de>


# e9267795 13-Feb-2018 goldsimon <goldsimon@gmx.de>

netif_alloc_client_data_id: only present if LWIP_NUM_NETIF_CLIENT_DATA

In contrast to netif_get_client_data, netif_alloc_client_data_id() is only
available if LWIP_NUM_NETIF_CLIENT_DATA > 0, not for DHCP etc.

This is correct in netif.c but wrong in netif.h


# 010b0210 07-Feb-2018 goldsimon <goldsimon@gmx.de>

netif: ext_callback: make LWIP_NSC_ defines, not an enum; fix mdns accordingly

Re-applied after reverting d6e58d02a619813a4187ab53ab0ffc2f0b864ad7


# 3cf906e0 07-Feb-2018 goldsimon <goldsimon@gmx.de>

Revert "netif: ext_callback: make LWIP_NSC_ defines, not an enum; fix mdns accordingly"

This reverts commit 6934bb442832406b5c41fc86bd934091b021f7ad.
Need to revert commit d6e58d02a619813a4187ab53ab0ffc2f0b864ad7 first, and that one produced merge conflicts.


# 6934bb44 07-Feb-2018 goldsimon <goldsimon@gmx.de>

netif: ext_callback: make LWIP_NSC_ defines, not an enum; fix mdns accordingly


# 6606c401 25-Jan-2018 goldsimon <goldsimon@gmx.de>

bug #52893: Add 'old_stat' save in LWIP_NSC_IPV6_ADDR_STATE_CHANGED callback message


# 734b6ab5 12-Jan-2018 goldsimon <goldsimon@gmx.de>

netif: ensure netif_set_addr() only results in one "ext_status_callback"

This can be used e.g. in mdns to create one, not multiple "changed" triggers
if IP address and netmask change at the same time.


# 452c6a53 12-Jan-2018 goldsimon <goldsimon@gmx.de>

netif: add netif_remove_ext_callback() (counterpart to netif_add_ext_callback())


# d115b280 12-Jan-2018 goldsimon <goldsimon@gmx.de>

netif: change netif_nsc_reason_t to flags (preparation only)


# da2478b7 04-Jan-2018 Axel Lin <axel.lin@ingics.com>

netif: Enclosing macro argument in parentheses for NETIF_FOREACH

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>


# 006bb843 30-Jul-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #50883: struct eth_addr alignment does not fit with ETHADDR16_COPY
... by simply removing ETHADDR16_COPY since noone advocated to keep it


# 41177cfd 30-Jun-2017 goldsimon <goldsimon@gmx.de>

work on -Wconversion...


# 5b152348 25-Jun-2017 goldsimon <goldsimon@gmx.de>

work on -Wconversion...


# 1add8c14 27-Apr-2017 goldsimon <goldsimon@gmx.de>

netif: tiny cleanup to last commit


# 6aac9377 26-Apr-2017 goldsimon <goldsimon@gmx.de>

Clean up LWIP_NETIF_HWADDRHINT a bit: create a struct holding the hint(s) and pass a pointer to that struct around. That way we are free to add more hints if required (e.g. see task #11620)


# d02bc648 24-Apr-2017 goldsimon <goldsimon@gmx.de>

Fixed bug #50816 (netif_add() prototype depends on configuration) by adding a new function netif_add_noaddrthat doesn't change


# 0d585d55 01-Mar-2017 goldsimon <goldsimon@gmx.de>

Added LWIP_SINGLE_NETIF for small targets with only one netif (see task #13515, there might be more optimizations to come with this option)


# 3c9e05a6 15-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor: Fix documentation in netif.h


# 498913b9 15-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Third draft of task #14283: Add more detailed status callback
Implement Joel's idea of a union


# 45492715 14-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Continue working on ext netif callback
Docs, better callback points (e.g. before netif is set down)


# d46d8bcd 14-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add some asserts to netif callback functions


# 4434762a 14-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Some minor documentation fixes


# bbedb35b 14-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix name clash between typedef and struct definition.
Interesting, all three compilers in Erik Ekman's travis-ci don't complain. But my gcc at home does...


# 1b2c8974 14-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Forgot to adapt #define in my last commit


# 8025b856 14-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Second draft of task #14283: Add more detailed status callback


# 3c171340 13-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Work on task #14283: Add more detailed status callback
Cleanups and IPv6 address status


# 58c48af5 13-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Start working on task #14283: Add more detailed status callback
IPv6 stuff is not implemented


# 400c41ff 13-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Also base netif_index_to_name function on netif_get_by_index


# d4d8fd81 13-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Some code cleanup related to netif index handling
Made the macro "netif_index_to_num" private, if someone needs it externally, please complain.


# ab811936 06-Feb-2017 David van Moolenbroek <david@minix3.org>

udp: add core-level multicast support for IPv6

So far, the UDP core module implemented only IPv4 multicast support.
This patch extends the module with the features necessary for socket
layers on top to implement IPv6 multicast support as well:

o If a UDP PCB is bound to an IPv6 multicast address, a unicast source
address is selected and used to send the packet instead, as is
required (and was the case for IPv4 multicast already).

o Unlike IPv4's IP_MULTICAST_IF socket option, which takes a source
IPv4 address, the IPV6_MULTICAST_IF socket option (from RFC 3493)
takes an interface identifier to denote the interface to use for
outgoing multicast-destined packets. A new pair of UDP PCB API
calls, udp_[gs]et_multicast_netif_index(), are added to support
this. The new definition "NETIF_NO_INDEX" may be used to indicate
that lwIP should pick an interface instead.

IPv4 socket implementations may now also choose to map the given
source address to an interface index immediately and use the new
facility instead of the old udp_[gs]et_multicast_netif_addr() one.
A side effect of limiting the old facility to IPv4 is that for dual-
stack configurations with multicast support, the UDP PCB size is
reduced by (up to) 16 bytes.

o For configurations that enable loopback interface support, the IPv6
code now also supports multicast loopback (IPV6_MULTICAST_LOOP).

o The LWIP_MULTICAST_TX_OPTIONS opt.h setting now covers both IPv4
and IPv6, and as such is no longer strictly linked to IGMP. It is
therefore placed in its own lwIP options subgroup in opt.h.

The IPV6_MULTICAST_HOPS socket option can already be implemented using
the existing IP_MULTICAST_TTL support, and thus requires no additional
changes. Overall, this patch should not break any existing code.


# eae41298 09-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Documentation updates related to Joel's if_api changes


# 4fb7d741 03-Feb-2017 Joel Cunningham <joel.cunningham@me.com>

task #14314: include cleanups

Couple of more cleanups for task #14314 involving includes:
1) if.h name should match if_api.c due to LwIP convention and history.
Standard if.h include can be used with compatibility header in
posix/net/if.h
2) API header (if.h) should not be included in core code. This include
has been eliminated by moving the definition of IF_NAMESIZE to
netif.h as NETIF_NAMESIZE. This is now the canonical definition
and IF_NAMESIZE just maps to it to provide the standard type


# fbfe987a 23-Jan-2017 Joel Cunningham <joel.cunningham@me.com>

netif: clean up remaining index shadowing from if APIs

This commit cleans up the remaining instance of global variable
"index" shadowing caused by using local variables and function
parameters named "index"

These were introduced in the recent interface index API commits


# 1b20e664 19-Jan-2017 Joel Cunningham <joel.cunningham@me.com>

Task #14314: Add interface name/index APIs

This commit adds the following sets of interface name/index APIs:

Interface Identification APIs from RFC 3493:
* lwip_if_nametoindex (COMPAT macro if_nametoindex)
* lwip_if_indextoname (COMPAT macro if_indextoname)

netifapi:
* netifapi_netif_name_to_index
* netifapi_netif_index_to_name

netif:
* netif_name_to_index
* netif_index_to_name
* netif_num_to_index
* netif_index_to_num


# 6748aa08 13-Jan-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix part 1 of bug #50042: ETHADDR16_COPY from netif->hwaddr
Rearrange struct netif to group more u8_t values together which may result in smaller struct netif on 32 bit systems


# e0c5e198 29-Dec-2016 David van Moolenbroek <david@minix3.org>

nd6: improve address autoconfiguration support

In summary, this patch aims to resolve bugs #47923 and #48162, by
decoupling address autoconfiguration from the on-link prefix list,
since those are not related. Important necessary changes are needed
to meet this goal, ultimately bringing the lwIP ND6 implementation
closer to compliance with RFC 4862. The main changes are:

1. support for address lifetimes, and,
2. addition of a new DUPLICATED address state.

The decoupling implies that the prefix list can no longer be used to
maintain state for address autoconfiguration. Most importantly, the
lifetime of each address, which was previously derived from the
prefix slot's lifetime, must now be associated with the address
itself. This patch implements address lifetime tracking, maintaining
both a valid and a preferred lifetime for each address, along with
the corresponding address state changes (e.g., between PREFERRED and
DEPRECATED), all as required by RFC 4862.

The support for address lifetimes can be enabled with a new
LWIP_IPV6_ADDRESS_LIFETIMES setting in lwipopts.h. It is required for
autoconfiguration and enabled by default if autoconfiguration is
enabled as well, but it may also be enabled separately, so as to allow
application-controlled lifetime management (e.g., if autoconfiguration
is implemented in a separate application). A special valid-lifetime of
zero is used to denote a static address--that is, an address that was
configured manually, that does not have lifetimes, and that should be
left alone by the autoconfiguration functionality. Addresses assigned
without setting a lifetime are deemed static, thus preserving
compatibility with existing lwIP-based applications in this respect.

Similarly, the decoupling implies that the prefix list can no longer
be used to remember cases of address duplication. Previously, the
detection of a duplicated address would simply result in removal of
the address altogether. Instead, this patch introduces a new state
"DUPLICATED", indicating that the address, while technically still
present, has been found to conflict with other node addresses, and no
attempt should be made to produce an autoconfiguration address for
that prefix.

Manually added addresses, including the link-local address, once set
to DUPLICATED, will remain in that state until manual intervention.
Autoconfigured DUPLICATED addresses will expire according to their
valid-lifetime, essentially preserving the current behavior but
without the use of the prefix list. As a first attempt to approach
compliance with RFC 4862 Sec. 5.4.5, if the link-local address is
detected to be duplicated, all derived addresses are marked duplicated
as well, and no new addresses will be autoconfigured. More work is to
be done for full compliance with that section, however.

Together, those two main changes indeed do fully decouple address
autoconfiguration from the on-link prefix list. Changes to the latter
thus no longer affect the former, resolving bug #47923. Moreover, as a
result, autoconfiguration can, and does, now also take place on
advertised prefixes that do not have the on-link flag set, resolving
bug #48162. The routing changes mentioned in the discussion of that
bug are left to a separate patch, though.


# b33070e0 01-Oct-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add documentation for bug #49139: IGMP "All Systems" vs MLD "All Nodes" inconsistency


# 97b774ce 26-Sep-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor: Documentation updates


# c7c6b7ce 21-Sep-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Rework IGMP and MLD6 code to store group info per-netif.
Reasoning:
- Makes code in single-netif case perform better and smaller
- IGMP / MLD6 code is a little bit easier to read and understand
- Easier to get multicast groups per netif when implementing drivers

Downside: In multi-netif mode, there are two more pointers on each netif, even if IGMP/MLD6 is not used on it. But these systems should not be so memory-constrained that this will matter.


# b944ceb8 31-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix compile when LWIP_NUM_NETIF_CLIENT_DATA == 0 and AUTOIP or DHCP are enabled


# 0d510dd6 26-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add API macros for netif client data handling and update documentation accordingly


# 57468b8a 25-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor: Several documentation updates


# a1db05c1 24-Aug-2016 Erik Ekman <erik.ekman@verisure.com>

Fix const argument warning in netif_ip6_addr_set

../../../../../lwip/src/netif/ppp/ppp.c:1276:37: error: passing
'const ip6_addr_t *' (aka 'const struct ip6_addr *') to parameter of type
'ip6_addr_t *' (aka 'struct ip6_addr *') discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
netif_ip6_addr_set(pcb->netif, 0, IP6_ADDR_ANY6);
^~~~~~~~~~~~~
../../../../../lwip/src/include/lwip/ip_addr.h:340:24: note: expanded from macro
'IP6_ADDR_ANY6'
^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../lwip/src/include/lwip/netif.h:436:73: note: passing argument to
parameter 'addr6' here
void netif_ip6_addr_set(struct netif *netif, s8_t addr_idx, ip6_addr_t *addr6);


# 298ec340 24-Aug-2016 goldsimon <goldsimon@gmx.de>

set netif IPv6 address & state via function to implement change triggers (task #13517)


# 6b1e1af3 19-Aug-2016 goldsimon <goldsimon@gmx.de>

combine MAC filter actions for IGMP and MLD6 (IGMP has compatibility defines for old code, MLD6 filter functions must be adapted)


# a189941d 19-Aug-2016 goldsimon <goldsimon@gmx.de>

make igmp/mld6 filter actions an enum and define them in netif.h where the callback function prototypes are defined


# 14fb48cd 19-Aug-2016 goldsimon <goldsimon@gmx.de>

minor: whitespace cleanups


# 7f60cb38 17-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Improve netif client data API for lwIP internal clients - these can use a compile-time constant to access their data now


# c62bfd81 17-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Port AUTOIP to new netif client data API


# 1db9631e 17-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Port DHCP to new netif client data API


# c28fb298 17-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Introduce an API to store arbitrary data pointers in struct netif
Let MDNS to use the new API
TODO: AutoIP, DHCP


# efb7b3d5 16-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Rename LWIP_MDNS to LWIP_MDNS_RESPONDER


# 4919932c 14-Aug-2016 Erik Ekman <erik@kryo.se>

Apply patch #8755: Multicast DNS responder support from Erik Ekman


# b1dfd00f 08-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor netif documentation update


# d0060925 31-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix doxygen warning in netif.h (forgotten title)


# 0c7d015e 30-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Further improvement to netif input function autoselection: Select between netif_input() and tcpip_input() depending on NO_SYS setting


# 5f9c944d 30-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add some netif related macros to docs


# 451277e7 24-May-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Include all lwIP files in doxygen documentation


# bfd3baa2 23-May-2016 Jan Breuer <jan.breuer@jaybee.cz>

netif: add additional getters/setters


# 22df34fc 06-Oct-2015 sg <goldsimon@gmx.de>

minor/coding style: removed spaces before line ending (from file header)


# 490581a0 06-Oct-2015 sg <goldsimon@gmx.de>

minor/coding style: removed spaces before line ending


# 91b6d451 02-Oct-2015 goldsimon <goldsimon@gmx.de>

struct netif->hostname can be a const pointer


# 3f4d75c8 30-Sep-2015 Dirk Zigelmeier <dirk@ziegelmeier.net>

netif_get_ip6_addr_match/netif_add_ip6_address must take a const ip6addr to be usable


# 94625a8f 28-Sep-2015 goldsimon <goldsimon@gmx.de>

MIB2_STATS: moved netif related mib2 counters into a struct (defined in stats.h), added ifInErrors/ifInUnkownProtos (now handled in etharp.c) and ifOutErrors


# b0917d98 24-Sep-2015 goldsimon <goldsimon@gmx.de>

Cleaned up using struct netif.ip_addr by creating API functions for it


# c7172310 24-Sep-2015 goldsimon <goldsimon@gmx.de>

Removed ip_2_ip4/6_c const macros again now that ip_2_ip4/6 macros keep the original const'ness


# 262a6413 24-Sep-2015 goldsimon <goldsimon@gmx.de>

eliminate temporary storage when using netif addresses for ip_addr_t* now that they have the correct type (ATTENTION: ip6_select_source_address() and ip4_netif_get_local_ip() now return ip_addr_t*!)


# db76671d 23-Sep-2015 sg <goldsimon@gmx.de>

task #13729: Convert netif addresses (IPv4 & IPv6) to ip_addr_t (so they can be used without conversion/temporary storage)


# e00e4a6c 23-Sep-2015 Dirk Ziegelmeier <dirk@ziegelmeier.net>

make netif_ip4_* get accessors return const pointers


# abc74464 22-Sep-2015 goldsimon <goldsimon@gmx.de>

Revert "make netif_ip4_addr/netmask/gw macros return constant IP address pointers"

This reverts commit b9b31a5e72ef00315f43f838172492696359071d.


# b9b31a5e 21-Sep-2015 Dirk Ziegelmeier <dirk@ziegelmeier.net>

make netif_ip4_addr/netmask/gw macros return constant IP address pointers


# b8d7a2b8 08-Sep-2015 goldsimon <goldsimon@gmx.de>

fixed comment, fixed unused parameter in mppe_compress()


# 8a0fb03e 08-Sep-2015 goldsimon <goldsimon@gmx.de>

Separate mib2 counter/table callbacks from snmp agent. This both cleans up the code and should allow integration of a 3rd party agent/mib2.


# aa0e41c3 01-Sep-2015 sg <goldsimon@gmx.de>

task #12178: hardware checksum capabilities can be configured per netif (use NETIF_SET_CHECKSUM_CTRL() in your netif's init function)


# 94550682 24-Aug-2015 sg <goldsimon@gmx.de>

more cleanup prework to fix bug #45029


# 177c06b1 20-Aug-2015 sg <goldsimon@gmx.de>

- prework for fixing bug #45029: access IPv4 configuration of struct netif via new API (netif_ip4_addr()/netif_ip4_netmask()/netif_ip4_gw()) instead of accessing the struct member directly. This way, we can change the struct member types from ip4_addr_t to ip_addr_t;
- fixed some bugs in calls to ip4_addr*() where the cast to u8_t* did not reveal the wrong address type


# 13801ebd 03-Aug-2015 goldsimon <goldsimon@gmx.de>

netif_find(): name parameter can be const


# cbeb5ab9 05-May-2015 Ivan Delamer <delamer@inicotech.com>

Remove 6LowPAN flag that will not be used.


# c1c65777 12-Apr-2015 sg <goldsimon@gmx.de>

worked on task #13480: added LWIP_IPV4 define - IPv4 can be disabled, leaving an IPv6-only stack (SNMP is still missing)


# ce7e31cd 09-Apr-2015 sg <goldsimon@gmx.de>

task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version;
ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions


# f139b14a 18-Mar-2015 Ivan Delamer <delamer@inicotech.com>

added macros for handling IPv6 multicast filter callback.


# 12d374d4 06-Mar-2015 sg <goldsimon@gmx.de>

Added function documentation, fixed coding style


# 0ddd7de1 06-Mar-2015 sg <goldsimon@gmx.de>

patch #8359 (Provide utility function to add an IPv6 address to an interface)


# b62f443b 06-Mar-2015 sg <goldsimon@gmx.de>

Fixed comment for NETIF_FLAG_UP after fixing bug #37068


# ec5cf859 22-Feb-2015 sg <goldsimon@gmx.de>

Continued chrysn's work: changed nearly all functions taking 'ip(X)_addr_t' pointer to take const pointers (changed user callbacks: raw_recv_fn, udp_recv_fn; changed port callbacks: netif_output_fn, netif_igmp_mac_filter_fn)


# 9f065c0e 23-Jan-2015 chrysn <chrysn@fsfe.org>

(api break) qualify ip_addr_t as const where feasible

this changes the callback signatures of the ip_output and the
{udp,raw}_recv functions.

changes were made by going through all header files, searching for
occurrences of ip_addr_t, qualifying them as const and if required
modifying the corresponding c files, looking for other uses of ip_addr_t
that would be required.

the following header files were not treated as i'm not using them and
wouldn't see them compiled: api.h api_msg.h dhcp.h dns.h igmp.h
netifapi.h pppapi.h snmp.h snmp_msg.h snmp_structs.h ppp.h pppol2tp.h
test/*

no modifications were done on ip6_addr_t.


# 02a797f9 19-Feb-2015 Ivan Delamer <delamer@inicotech.com>

Modified netif flag values.


# b938154f 19-Feb-2015 Ivan Delamer <delamer@inicotech.com>

Removed unused netif flag for DHCP


# e312ebcb 19-Feb-2015 Ivan Delamer <delamer@inicotech.com>

Removed unused netif flag for point to point connections


# 7cea4d7d 19-Aug-2014 goldsimon <goldsimon@gmx.de>

bug #42998: made NETIF_MAX_HWADDR_LEN overridable for some special networks


# 1204f15b 19-May-2014 goldsimon <goldsimon@gmx.de>

bug #35874 reserved identifier violation, 2nd part


# dbd125c7 19-May-2014 Simon Goldschmidt <goldsimon@gmx.de>

Fixed bug #35874 reserved identifier violation (removed leading underscores from header include guards)


# dceed2ea 25-Feb-2014 Simon Goldschmidt <goldsimon@gmx.de>

fixed bug #39225 udp.c uses netif_matches_ip6_addr() incorrectly; renamed function netif_matches_ip6_addr() to netif_get_ip6_addr_match()


# e432014a 10-Feb-2014 Erik Ekman <erik.ekman@verisure.com>

netif: Update header file documentation

IPv6 output method referenced old method name.


# 1e65eb49 17-Jan-2014 Simon Goldschmidt <goldsimon@gmx.de>

Added IPv6 loopback address to loopback-netif, fixed last commit


# 85f8a59d 28-Nov-2011 Ivan Delamer <delamer@inicotech.com>

Added parenthesis to netif/ip6 macros.

Change-Id: I32d7f28c9e106641e3d5be8342d2c884e166bb0e


# 0a575514 24-Aug-2011 Simon Goldschmidt <goldsimon@gmx.de>

added netif remove callback (bug #32397)


# 6865806b 25-May-2011 goldsimon <goldsimon>

Combined IPv4 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP code so that the code is more readable.


# 4bfbe7eb 17-May-2011 goldsimon <goldsimon>

... and finally, we got a first working version of a dual-stack lwIP runnin IPv4 and IPv6 in parallel - big thanks to Ivan Delamer! (this is work in progress, so please beware, test a lot and report problems!)


# 7c205409 15-Feb-2010 goldsimon <goldsimon>

Link status does not depend on LWIP_NETIF_LINK_CALLBACK (fixes bug #28899)


# c5dfa409 14-Feb-2010 goldsimon <goldsimon>

Fixed bug #28183 (ARP and TCP/IP cannot be disabled on netif used for PPPoE) by adding a new netif flag (NETIF_FLAG_ETHERNET) that tells the stack the device is an ethernet device but prevents usage of ARP (so that ethernet_input can be used for PPPoE).


# 524b7bc3 14-Feb-2010 goldsimon <goldsimon>

Documented the use of netif flags


# 077caac7 09-Feb-2010 goldsimon <goldsimon>

task #10153 (Integrate loopif into netif.c) - loopif does not have to be created by the port any more, just define LWIP_HAVE_LOOPIF to 1.


# 49274c15 08-Feb-2010 goldsimon <goldsimon>

added netif_s/get_igmp_mac_filter() macros


# 758e99f3 05-Feb-2010 goldsimon <goldsimon>

Added function-like macros to get/set the hostname on a netif


# 5d360a67 04-Feb-2010 goldsimon <goldsimon>

Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.


# 5fa0347e 29-Jan-2010 goldsimon <goldsimon>

Cleanly separate the portability file inet.h and its contents from the stack: moved htonX- functions to def.h (and the new def.c - they are not ipv4 dependent), let inet.h depend on ip_addr.h and not the other way round. This fixes bug #28732.


# 2d4e7687 14-Jan-2010 goldsimon <goldsimon>

Using typedefs for function prototypes and -pointers throughout the stack for clarity


# 32833bcd 09-Jan-2010 goldsimon <goldsimon>

Inlined netif_is_up() and netif_is_link_up() as defines for speed reasons; fixed type and macro definition.


# 1740b0d4 31-Dec-2009 goldsimon <goldsimon>

Some functions were located outside extern "C" {}


# 96e8f16c 06-Dec-2009 goldsimon <goldsimon>

Sligthly reordered struct netif's members to better meet alignment requirements


# 3d8e5003 19-Jun-2008 goldsimon <goldsimon>

Fixed includes in netif.c, removed loop_cnt_max member in struct netif (instead the define LWIP_LOOPBACK_MAX_PBUFS is used directly)


# eba83ab7 17-Jun-2008 goldsimon <goldsimon>

Changed loopback code (less difference between NO_SYS = 0 / 1), added setting LWIP_LOOPBACK_MAX_PBUFS to limit loopback-queued pbufs


# 88ff8c83 12-Jun-2008 goldsimon <goldsimon>

Checked in slightly modified version of patch # 6370: Moved loopif code to netif.c so that loopback traffic is supported on all netifs (all local IPs).


# 199648ff 09-Oct-2007 goldsimon <goldsimon>

Changed initialization: many init functions are not needed any more since we now rely on the compiler initializing global and static variables to zero!


# 5dd12567 03-Oct-2007 jifl <jifl>

Small tweak: clarify use of link speed in comments for NETIF_INIT_SNMP.


# 939180c1 09-Sep-2007 fbernon <fbernon>

igmp.h, igmp.c, netif.h, netif.c, ip.c: To enable to have interfaces with IGMP, and others without it, there is a new NETIF_FLAG_IGMP flag to set in netif->flags if you want IGMP on an interface. igmp_stop() is now called inside netif_remove(). igmp_report_groups() is now called inside netif_set_link_up() (need to have LWIP_NETIF_LINK_CALLBACK=1) to resend reports once the link is up (avoid to wait the next query message to receive the matching multicast streams).


# 85fef90c 31-Aug-2007 fbernon <fbernon>

Add enum snmp_ifType in snmp.h, and use it in network interfaces for NETIF_INIT_SNMP


# acbf25f2 25-Aug-2007 fbernon <fbernon>

netif.h, netif.c: Integrate "patch #6163 : Function to check if link layer is up". Add a netif_is_link_up() function if LWIP_NETIF_LINK_CALLBACK option is set.


# 261af8dc 22-Aug-2007 fbernon <fbernon>

netif.h, netif.c, opt.h: Rename LWIP_NETIF_CALLBACK in LWIP_NETIF_STATUS_CALLBACK to be coherent with new LWIP_NETIF_LINK_CALLBACK option before next release.


# 116bcb9d 13-Jul-2007 fbernon <fbernon>

opt.h, netif.h, netif.c, ethernetif.c: Add new configuration option to add a link callback in the netif struct, and functions to handle it. Be carefull for port maintainers to add the NETIF_FLAG_LINK_UP flag (like in ethernetif.c) if you want to be sure to be compatible with future changes...


# 96e4ec4a 02-Jul-2007 goldsimon <goldsimon>

Added option LWIP_NETIF_HWADDRHINT (default=off) to cache ARP table indices with each pcb instead of single-entry cache for the complete stack.


# 6a404264 18-Jun-2007 fbernon <fbernon>

Minor fix: warning, type... for patch #5952 : Integration of AutoIP module


# e01f3420 09-Jun-2007 fbernon <fbernon>

Contrib module by Dominik Spies: autoip.h, autoip.c, dhcp.h, dhcp.c, netif.h, netif.c, etharp.h, etharp.c, opt.h: AutoIP implementation available for IPv4, with new options LWIP_AUTOIP and LWIP_DHCP_AUTOIP_COOP if you want to cooperate with DHCP. Some tips to adapt (see TODO mark in the source code).


# 0e9cb48e 08-Jun-2007 goldsimon <goldsimon>

Changed define NETIF_INIT_SNMP(type, speed) to include the name of the struct netif to change...


# 945460c6 08-Jun-2007 goldsimon <goldsimon>

Added define NETIF_INIT_SNMP(type, speed) to initialize per-netif snmp variables, added initialization of those to slipif and loopif.


# 9085abd8 16-May-2007 goldsimon <goldsimon>

Added comments whether fields are host or network byte order (task #1568)


# 84fc489e 10-May-2007 goldsimon <goldsimon>

Included patch #5448: include '#ifdef __cplusplus \ extern "C" {' in all header files. Now you can write your application using the lwIP stack in C++ and simply #include the core files. Note I have left out the netif/ppp/*h header files for now, since I don't know which files are included by applications and which are for internal use only.


# 05ea5f05 04-May-2007 fbernon <fbernon>

Minor fix (tab, indent...) to respect source code style...


# c1fe7517 28-Mar-2007 fbernon <fbernon>

opt.h, netif.h, dhcp.h, dhcp.c: New configuration option LWIP_NETIF_HOSTNAME allow to define a hostname in netif struct (this is just a pointer, so, you can use a hardcoded string, point on one of your's ethernetif field, or alloc a string you will free yourself). It will be used by DHCP to register a client hostname, but can also be use when you call snmp_set_sysname.


# cd1c96db 28-Mar-2007 fbernon <fbernon>

netif.h, netif.c: A new NETIF_FLAG_ETHARP flag is defined in netif.h, to allow to initialize a network interface's flag with. It tell this interface is an ethernet device, and we can use ARP with it to do a "gratuitous ARP" (RFC 3220 "IP Mobility Support for IPv4" section 4.6) when interface is "up" with netif_set_up().


# e5147d55 21-Mar-2007 kieranm <kieranm>

* netif.c, netif.h: Apply patch#4197 with some changes (originator: rireland@hmgsl.com).
Provides callback on netif up/down state change.


# a24a170b 11-Mar-2007 fbernon <fbernon>

New configuration option LWIP_IGMP to enable IGMP processing. Based on only one filter per all network interfaces. Declare a new function in netif to enable to control the MAC filter (to reduce lwIP traffic processing).

Mace Gael for the upper layers, Steve Reynolds for lower ones...


# 130d39cc 01-Sep-2006 christiaans <christiaans>

Changed index structs to mib_list_node structs to place the table index trees directly in the mib tree.


# 54bb20b4 14-Jul-2006 christiaans <christiaans>

Added SNMP statistics to struct netif and changed SNMP macro glue.


# e1b215aa 24-Nov-2005 christiaans <christiaans>

Introduced cc.h formatters and removed SO_REUSE from transport layers.


# d11fcafa 30-Jun-2004 likewise <likewise>

Added netif up/down basics.


# 4eadc22a 03-May-2004 likewise <likewise>

Some updates on "gratuitious ARP" from RFC3220. Cleanup of some code and comments.


# 82f852ab 11-Mar-2004 likewise <likewise>

Fix cyclic dependencies by careful re-ordering of #includes.
This is really nasty. Can we forward-declare pointers to structs?


# 475576ec 07-Feb-2004 likewise <likewise>

Updated some copyright notices to include 2004 (a few were forgotten earlier).


# eed8ea5b 27-Dec-2003 uid67528 <uid67528>

Merged from DEVEL. etharp prepared for queueing feature. DHCP fix.


# df99ce9d 09-Jun-2003 likewise <likewise>

Replaced all tabs with two spaces (regardless of indentation is correct).


# a1efd95d 14-Apr-2003 likewise <likewise>

hexadecimal notation for NETIF_FLAGS_


# 11e0cf6f 13-Apr-2003 likewise <likewise>

Added NETIF_FLAG_LINK_UP. Not used yet.


# 8613f2a4 07-Mar-2003 jani <jani>

factor out netif_set_addr so address of netif can be changed


# 8e9aa840 20-Feb-2003 jani <jani>

do not directly include lwipopts.h but lwip/opt.h instead


# 37629fc1 20-Feb-2003 likewise <likewise>

Fixed some issues open after merging 'leon-dhcp'. Added new debugging.


# cc31bb93 20-Feb-2003 jani <jani>

make netif->init return err_t instead of void.Patch from David Le Corfec


# d8d78754 20-Feb-2003 likewise <likewise>

Merged with leon-dhcp branch. Tagged as POST_leon-dhcp afterwards.


# dd2fa15e 06-Feb-2003 davidhaas <davidhaas>

Add the following features and bugfixes:

Added select() functionality to sockets library.
Support for errno in sockets library.
Byte ordering fixes.
basic lwip_ioctl(), FIONREAD, get/setsockopt() etc. support

- added additional argument to netif_add to pass state pointer so that the
if_init function has access to context information before
the interface is added, without accessing globals.

- added netif_remove()

- to conserve cpu load the tcpip_tcp_timer should only be active
when tcbs that need it exist.

- pass length of available data to callbacks for NETCONN_EVT_RCV events

- added tcpip_link_input(), a hack to allow processing of PPP
packets in tcpip_thread() context. This saves threads and context
switches.

- renamed incompatible ASSERT() macro to LWIP_ASSERT() to avoid name
collision.

- changed a bunch of %d's to %u's in format strings for unsigned values.

- added ip_frag to lwip_stats.

- changed IP_REASS_MAXAGE and IP_REASS_TMO defaults to more realistic
values.

- added sys_timeout_remove() function to cancel timeouts (needed by PPP
amongst other things).

- tolerate NULL returns from sys_arch_timeouts() since some threads might
not need to use or have timeouts.

- added sys_sem_wait_timeout()

- moved mem_malloc() function to end of mem.c to work around tasking
compiler bug.

- automatically bind to local tcp port if 0.

- allow customization of port ranges for automatic local bindings.

- corrected various typos, spelling errors, etc..

Thanks to Marc Boucher for many of these changes.


# 70d54479 04-Feb-2003 likewise <likewise>

Changed some comments into JavaDoc format.


# a5e9b737 08-Jan-2003 likewise <likewise>

Made hardware address length definable (was 6 bytes for Ethernet).


# cc4df710 08-Jan-2003 likewise <likewise>

Updated lwIP module copyright years to include 2003. Committers must check theirs.


# 0ed4fd67 28-Nov-2002 likewise <likewise>

Documented ( *output)() and ( *linkoutput)() better for upcoming ARP changes.


# a57c9140 21-Nov-2002 jani <jani>

add MTU (maximum transmission unit) field to struct netif


# 8cdeaa51 11-Nov-2002 likewise <likewise>

Hardware address bytes made unsigned char instead of char, consistent with other sources.


# f06e9550 18-Oct-2002 likewise <likewise>

Initial revision