- Global DNS_RAND_TXID
- : one-shot mDNS: dual-stack fallback to another IP version
- File lowpan6_common.c
- : RFC 6775.
- Module rfc7668if
- :
- further testing
- support compression contexts
- support multiple addresses
- support multicast
- support neighbor discovery
- File lowpan6.c
- : RFC 6775.
- Module bridgeif
- :
- compact static FDB entries (instead of walking the whole array)
- add FDB query/read access
- add FDB change callback (when learning or dropping auto-learned entries)
- prefill FDB with MAC classes that should never be forwarded
- multicast snooping? (and only forward group addresses to interested ports)
- support removing ports
- check SNMP integration
- VLAN handling / trunk ports
- priority handling? (although that largely depends on TX queue limitations and lwIP doesn't provide tx-done handling)
- Global tcp_connected_fn )(void *arg, struct tcp_pcb *tpcb, err_t err)
- ! Only return ERR_ABRT if you have called tcp_abort from within the callback function!
- Global SNTP_CHECK_RESPONSE
: discard reply if any of the VN, Stratum, or Transmit Timestamp fields is 0 or the Mode field is not 4 (unicast) or 5 (broadcast).
: to check that the Root Delay and Root Dispersion fields are each greater than or equal to 0 and less than infinity, where infinity is currently a cozy number like one second. This check avoids using a server whose synchronization source has expired for a very long time.
- Global netconn_is_nonblocking (conn)
- : write/send is missing)
- Global netconn_set_nonblocking (conn, val)
- : write/send is missing)
- Global ethip6_output (struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr)
- anycast addresses
- Global dhcp6_enable_stateful (struct netif *netif)
- : stateful DHCPv6 not supported, yet
- Global IP_REASS_CHECK_OVERLAP
- : work with IP header options
- Global igmp_joingroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr)
- undo any other netif already joined
- Global dhcp_rx_options_given [DHCP_OPTION_IDX_MAX]
- : move this into struct dhcp?
- Global dhcp_rx_options_val [DHCP_OPTION_IDX_MAX]
- : move this into struct dhcp?
- Module dhcp4
- :
- Support for interfaces other than Ethernet (SLIP, PPP, ...)
- Global lwip_netconn_do_listen (void *m)
- : should we drain the recvmbox here?
- Global DNS_RAND_TXID
: check RFC1035 - 7.3. Processing responses
: improve answer parsing, more checkings...
: define good default values (rfc compliance)
- Module sntp
- :
- complete SNTP_CHECK_RESPONSE checks 3 and 4
- File snmp_asn1.c
- not optimised (yet), favor correctness over speed, favor speed over size
- "
- : no line consisting of a single dot only)
- Module smtp
- :
- attachments (the main difficulty here is streaming base64-encoding to prevent having to allocate a buffer for the whole encoded file at once)
- test with more mail servers...
- Module iperf
- :
- implement UDP mode
- protect combined sessions handling (via 'related_master_state') against reallocation (this is a pointer address, currently, so if the same memory is allocated again, session pairs (tx/rx) can be confused on reallocation)
- "
:
- take TCP_MSS, LWIP_TCP_TIMESTAMPS and PAYLOAD_ALIGN_TYPE/PAYLOAD_ALIGNMENT as arguments
: return tag_insert_len - maybe it can be removed from struct http_state?
: better explanation! Pointers to the parameters are stored in hs->param_vals.
- Module httpc
- :
- persistent connections
- select outgoing http version
- optionally follow redirect
- check request uri for invalid characters? (e.g. encode spaces)
- IPv6 support
- "
- : retry sending?
- Global lwip_getaddrinfo (const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res)
- : implement AI_V4MAPPED, AI_ADDRCONFIG