Sylvain Rochet
3dcfd7ba41
PPP: moved netif out of PPP control block
...
Users might want to share a netif control block between an Ethernet
interface and a PPPoS interface (I want actually) in case PPP is just
used as redundancy if Ethernet is down (eg. PPPoS GPRS fail over).
Moved netif out of PPP control block in a similar way it is currently
done for Ethernet interfaces. Furthermore, this is a first step on
removing the "new/create/free/delete" API which is awful but currently
necessary to handle fail over from PPPoX to another PPPoX (eg. from PPoE
on xDSL to PPPoS on GPRS fail over) without free()ing the netif which
might be used on udp_sendto() or L2TP VPN links.
2015-02-17 23:22:12 +01:00
sg
604a92dc3d
fixed bug #38853 "connect() use a wrong errno": return ERR_ALREADY/EALRADY during connect, ERR_ISCONN/EISCONN when already connected
2015-02-17 22:10:23 +01:00
goldsimon
5d13b5a2fb
fixed bug #37614 "Errors from ipX_output are not processed". Now tcp_output(_segment) checks for the return value of ipX_output and does not try to send more on error. A netif driver can call tcp_txnow() (from tcpip_thread!) to try to send again if TX buffers are available again.
2015-02-17 08:02:34 +01:00
sg
90db821036
patch #8361 "Add support for NTP option in DHCP" (slighly modified)
2015-02-16 21:23:06 +01:00
Sylvain Rochet
99d1fdd270
snmp: syntax error fix on endif comment
...
*/ omitted on comment, added.
2015-02-14 19:38:35 +01:00
Sylvain Rochet
10ab72855d
opt: fix build without SNMP_COMMUNITY_EXT
...
define value omitted on #define SNMP_COMMUNITY_EXT in opt.h, default is 0
2015-02-14 19:38:29 +01:00
sg
0d18516af8
added support for write-access community and dedicated community for sending traps
2015-02-14 15:44:32 +01:00
sg
e22c815444
patch by Freddie Chopin: SNMP: const-correctness around snmp traps and enterprise
2015-02-14 15:11:44 +01:00
sg
723eaa1f40
Fixed compiler warning in snmp.h introduced by last patches
2015-02-14 15:04:55 +01:00
Freddie Chopin
4ebeeaf1e0
msg_in.c, msg_in.c: add snmp_get_community() and snmp_set_community() accessors
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2015-02-14 14:49:42 +01:00
Freddie Chopin
2c9ceea3cf
msg_in.c, snmp_msg.h: convert snmp_community to a modifiable pointer
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2015-02-14 14:49:41 +01:00
Freddie Chopin
c289872ab7
msg_in.c, msg_out.c, snmp_msg.h: rename snmp_publiccommunity to snmp_community, update descriptions
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2015-02-14 14:49:39 +01:00
Freddie Chopin
9469bdc93e
msg_in.c, snmp_msg.h: don't hardcode size of community string
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2015-02-14 14:47:55 +01:00
sg
b5b5844119
added hook LWIP_HOOK_MEMP_AVAILABLE() to get informed when a memp pool was empty and an item is now available
2015-02-13 21:53:55 +01:00
sg
6ef7563f53
Added the option PBUF_LINK_ENCAPSULATION_HLEN to allocate additional header space for TX on netifs requiring additional headers
2015-02-13 21:42:04 +01:00
sg
7a0f814043
introduce sys_timeouts_sleeptime (returns the time left before the next timeout is due, for NO_SYS==1)
2015-02-12 22:14:28 +01:00
sg
80b62df0a9
fixed bug #36403 "ip4_input() and ip6_input() always pass inp to higher layers": now the accepting netif is passed up, but the input netif is available through ip_current_input_netif() if required.
2015-02-12 22:04:10 +01:00
chrysn
81d4e201bb
include the memp struct list once before actually using it
...
when custom lwipopts.h files are used (MEMP_USE_CUSTOM_POOLS), there is
typically the need to use sizeof(some_struct) in there, but on structs
that are not already declared in lwip; thus, they use #include on custom
headers.
even if the included files have proper include guards, the way memp
headers are used (
typedef enum {
#define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name,
#include "lwip/memp_std.h"
MEMP_MAX
} memp_t;
) breaks when fresh includes are involved. in this patch, this gets
circumvented by including lwip/memp_std.h once with an empty
LWIP_MEMPOOL definition, so that all the includes from custom
lwippools.h files can be handled safely.
2015-02-11 23:10:15 +01:00
sg
8155b8cfb3
patch #7702 "Include ability to increase the socket number with defined offset"
2015-02-11 23:05:52 +01:00
sg
7d8657287e
patch #8362 Add defines for well known ethernet packet types
2015-02-11 21:59:48 +01:00
sg
f7905582db
More tiny code cleanups...
2015-02-11 21:53:12 +01:00
Fred Baksik
f12e6837be
LWIP_PLATFORM_DIAG: check if LWIP_PLATFORM_DIAG is defined as needed.
...
-- LWIP_STATS and LWIP_DEBUG require this macro
2015-02-11 21:44:43 +01:00
Fred Baksik
3870031c6e
LWIP_ASSERT: check for LWIP_PLATFORM_ASSERT if LWIP_NOASSERT is not defined.
...
-- add comment about usage of LWIP_NOASSERT
2015-02-11 21:43:40 +01:00
sg
974a853f40
patch #8423 "arch/perf.h" should be made an optional item
2015-02-11 21:25:47 +01:00
sg
7ff9825f55
started to implement fullduplex sockets/netconns (note that this is highly unstable yet!)
2015-02-11 21:18:15 +01:00
sg
04b4971d8c
Added comment that sys_thread_new must not fail (ports have to assert this!)
2015-02-11 21:12:49 +01:00
sg
6c3f6cfd89
netconn/socket api: fixed bug #44225 "closing TCP socket should time out eventually", implemented task #6930 "Implement SO_LINGER": closing TCP sockets times out after 20 seconds or after the configured SND_TIMEOUT or depending on the linger settings; fixed that netconn_close/netconn_delete still used message passing for LWIP_TCPIP_CORE_LOCKING==1
2015-02-10 22:15:54 +01:00
sg
ee833ea594
changed comment in struct linger
2015-02-10 21:40:27 +01:00
goldsimon
338feef70e
memp: also export memp_sizes[] if MEMP_USE_CUSTOM_POOLS==1
2015-02-10 15:18:14 +01:00
sg
48934414b2
patch #8479 Fixed a visibility scope that caused a compile error in some configurations (by Constantine <nongnusucks>)
2015-01-17 14:55:32 +01:00
sg
c1804810d8
allow enabling socket API without (public) netconn API - netconn API is still used by sockets, but keeping it private (static) should allow better compiler optimizations
2015-01-17 14:42:50 +01:00
sg
5d2e93e5f0
fixed bug #40788 "lwip_setsockopt_internal() crashes" by rewriting set/getsockopt functions to combine checks with the actual code and add more NULL checks; this also fixes that CORE_LOCKING used message passing for set/getsockopt.
2015-01-17 14:18:27 +01:00
goldsimon
1cbd2121e2
Allow to overrid the check for p->ref==1 in TX packets (there *are* netif drivers that can handle this)
2015-01-16 17:58:07 +01:00
Sylvain Rochet
369e9fbf08
PPP, from PPPD upstream, Eliminate some unnecessary ifdefs
2014-12-24 23:12:30 +01:00
Sylvain Rochet
e39d012312
PPP, from PPPD upstream, separate IPv6 handling for sifup/sifdown
...
The current code is buggy regarding handling of link state when using
both IPCP and IPv6CP: if IPv6CP has been set up and if during IPCP
negociation, ipcp_up() fails, it will incorrectly take the interface
down. The simple solution here is to change the platform code to do the
same as on Solaris: separate IPv6CP up/down state handling with sif6up()
and sif6down(), so that we really know when the interface is allowed to
go down.
(Based from pppd commit b04d2dc6df5c6b5650fea44250d58757ee3dac4a)
2014-12-24 23:01:06 +01:00
Sylvain Rochet
7d077a2260
PPP,SLIP include lwip/sio.h after lwip/sys.h to prevent functions prototype collision
...
User port may redefine sio_* functions, we must ensure we are loading
user functions prototypes before loading default prototypes.
2014-12-24 21:23:54 +01:00
Sylvain Rochet
b30faa577d
PPP, moved ppp_init() from public API (ppp.h) to private API (ppp_impl.h)
...
ppp_init() is called by lwip_init(), users don't need to init PPP by themselves
2014-12-24 19:08:58 +01:00
Sylvain Rochet
91356d2d03
PPPAPI, added const modifier on auth strings
2014-12-24 19:05:19 +01:00
Sylvain Rochet
482a18e6de
PPP, added const modifier on auth strings
2014-12-24 17:17:00 +01:00
Sylvain Rochet
2b3e020152
PPP, fixed some compiler warnings
...
Using -Wall -pedantic -Wparentheses -Wsequence-point
-Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith
-Wbad-function-cast -Wc++-compat -Wwrite-strings -Wold-style-definition
-Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wno-address
2014-12-24 15:16:03 +01:00
goldsimon
32c6f96000
prevent dhcp from starting when netif link is down (only when LWIP_DHCP_CHECK_LINK_UP==1, which is disabled by default for compatibility reasons)
2014-12-19 16:04:48 +01:00
sg
7ca4fd817e
- fixed bug #43797 set/getsockopt: SO_SNDTIMEO/SO_RCVTIMEO take int as option but should take timeval (LWIP_SO_SNDRCVTIMEO_STANDARD==0 can be used to revert to the old 'winsock' style behaviour);
...
- Fixed implementation of SO_ACCEPTCONN to just look at the pcb state;
- cleaned up the SO/SOF defines (only 3 left a ip_pcb level);
2014-12-10 21:46:49 +01:00
sg
cacdbb5262
added option LWIP_NETCONN_SEM_PER_THREAD to use a semaphore per thread instead of using one per netconn and per select call
2014-12-10 20:45:01 +01:00
goldsimon
0ff98eb2f5
mem: added an MEMP_OVERFLOW_CHECK implementation for MEM_USE_POOLS; added another unit test
2014-12-10 09:48:50 +01:00
goldsimon
dbe33783c9
stats: place 'err' in stats_mem more at the front to better see it in debugger overview window
2014-12-10 09:48:00 +01:00
goldsimon
ca26fd17a7
fixed bug #43778 : IPv6 header version not set on 16-bit platform (macro IP6H_VTCFL_SET())
2014-12-08 15:00:37 +01:00
goldsimon
4085a3fad4
task #11472 Support PBUF_REF for RX (IPv6 and IPv4/v6 reassembly might not work yet)
2014-12-08 14:45:36 +01:00
goldsimon
bada7e0f92
mem.h: fixed constants to be unsinged to fix compiler warning
2014-11-07 16:01:19 +01:00
goldsimon
ec93b03d8d
Fixed multiple smaller compiler warnings
2014-11-07 14:29:53 +01:00
goldsimon
2809405164
lwip_socket_init() is not needed any more -> compatibility define
2014-11-06 14:14:58 +01:00