sg
c87efb77bc
patch by Jens Nielsen: fixed bug #38803 (Source address in broadcast ping reply)
2015-02-22 22:02:17 +01:00
sg
03159254ce
added proper accessor functions for pcb->multicast_ip (previously used by get/setsockopt only)
2015-02-22 21:49:46 +01:00
sg
ec5cf8593e
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)
2015-02-22 21:46:35 +01:00
chrysn
9f065c0ea5
(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.
2015-02-22 21:46:02 +01:00
Sylvain Rochet
df3f05e824
PPP, apply warnings found by MSVC fixes on other files needing the same fix
2015-02-22 21:39:04 +01:00
sg
9a10afbbc6
PPP: fixed 2 warnings found by MSVC
2015-02-22 21:30:17 +01:00
Sylvain Rochet
8d916b8573
PPP, PPPoS, removed unused next field in pppos_pcb
...
Linked list was removed, we don't need the next pointer anymore.
2015-02-22 16:57:57 +01:00
Sylvain Rochet
653657ae43
PPP, code cleaning
2015-02-22 16:45:38 +01:00
Sylvain Rochet
b0b7240022
PPP, PPPoS, moved advise about modem from pppos_create() to ppp_open()
...
pppos_create() can be called whether the modem is ready to process the
PPP session since pppos_create() does not start the PPP session anymore,
moved the advise from pppos_create() to ppp_open().
2015-02-22 16:20:03 +01:00
Sylvain Rochet
1e82003bf9
CORE, INIT, fail if none of PPP_IPV[46]_SUPPORT are enabled if PPP_SUPPORT is enabled
...
PPP_SUPPORT needs PPP_IPV4_SUPPORT and/or PPP_IPV6_SUPPORT turned on.
2015-02-22 14:30:24 +01:00
Sylvain Rochet
4be7fccad3
PPP, CORE, ppp_close() and ppp_sighup() ended up sharing almost everything, merged
...
Merged ppp_sighup() to ppp_close() using an optional argument "nocarrier"
on ppp_close().
2015-02-22 14:25:36 +01:00
Sylvain Rochet
b040ace4c2
PPP, CORE, carrier lost signal, fixed FSM mismatch
...
ppp_sighup() hard change the PPP FSM phase, it ends up with a FSM
mismatch if PPP is currently connecting or disconnecting.
Only do "sighup" on the stable running phase, fallback to the close
method. Handle special DEAD and HOLDOFF states as well.
2015-02-22 13:54:52 +01:00
Sylvain Rochet
ab572ce5b9
PPP, CORE, fixed PPP phase state machine when ppp_close() is called during HOLDOFF phase
...
Aborting HOLDOFF leaves us at PPP_PHASE_DEAD, fixed.
2015-02-22 13:48:53 +01:00
Sylvain Rochet
ded77f59cd
PPP, FSM, fixed "timeout sending Config-Requests" output
...
\n is not needed, fixed.
2015-02-22 12:12:38 +01:00
Sylvain Rochet
a1c5415f8f
PPP, CORE, disable VJ is PPP IPV4 is compiled out
...
VJ compression is only supported for PPP IPv4, compile out VJ support
if PPP IPv4 is not compiled.
2015-02-22 02:34:45 +01:00
Sylvain Rochet
00e8988b52
PPP, IPv4 support is now optional
...
New compile time option: PPP_IPV4_SUPPORT
PPP IPv4 support can now be compiled out.
2015-02-22 02:28:04 +01:00
Sylvain Rochet
5680808fb6
PPP, CORE, ppp_ioctl PPPCTLG_UPSTATUS command now returns true if only IPv6 is up
...
PPPCTLG_UPSTATUS ioctl didn't return true if IPv6 was up and IPv4 down, fixed.
2015-02-22 01:34:47 +01:00
Sylvain Rochet
814bcc04ad
PPP, CORE, using ip*_set_* functions instead of IP4_ADDR and SMEMCPY
...
Now using lwIP helper functions on ip_addr_t and ip6_addr_t.
2015-02-22 01:33:02 +01:00
Sylvain Rochet
a8cbff08ef
PPP, IPV6, enable PPP IPv6 by default if LWIP_IPV6 is set
2015-02-22 00:25:23 +01:00
Sylvain Rochet
ee8a05c3c7
PPP, CORE, removed if_up and if6_up checks in sifdown() and sif6down()
...
It can't hurt us, checking is useless.
2015-02-21 23:53:40 +01:00
Sylvain Rochet
46d7f6f95d
PPP, IPv6, fixed unicode in file headers
2015-02-21 23:49:57 +01:00
Sylvain Rochet
30c89310a6
PPP, CORE, IPv6, if_up flag used instead of if6_up for outgoing IPv6 packets, fixed
...
We can have an IPv6 only PPP interface, checking if6_up instead of if_up fixes
IPv6 only setup.
ppp_netif_output() which were only used for common code between
ppp_netif_output_ip4() and ppp_netif_output_ip6() is not necessary
anymore, removed, reducing call stack by one.
2015-02-21 23:34:45 +01:00
Sylvain Rochet
d6e1b86147
PPP, CORE, improved, re-ordered and re-numbered IOCTL commands
2015-02-21 21:52:39 +01:00
Sylvain Rochet
a8e973f5d7
PPP, CORE, remove the user ability to set the PPP error code (PPPCTLS_ERRCODE)
...
This is now totally useless, it was used for the PPP core code but it is not
used anymore, remove then the user ability to set the PPP error code through
PPPCTLS_ERRCODE.
2015-02-21 21:48:53 +01:00
Sylvain Rochet
c4d1354c54
PPP, CORE, don't use ppp_ioctl() from PPP core, assign pcb->err_code instead
...
Removed useless calls to ppp_ioctl(pcb, PPPCTLS_ERRCODE, …), we now assign
pcb->err_code directly instead. ppp_ioctl() is not linked anymore if user
application don't use it.
2015-02-21 21:42:59 +01:00
Sylvain Rochet
dc2e700057
PPP, CORE, using u8_t on ioctl command instead of int
...
We don't need an int here, all commands are between 0 and 255.
2015-02-21 21:37:08 +01:00
Sylvain Rochet
bfe0c3a8e0
opt.h: fixed warnings if PPP auth support is not enabled
...
lwip/src/netif/ppp/polarssl/md4.c:43:20: warning: "LWIP_INCLUDED_POLARSSL_MD4" is not defined [-Wundef]
lwip/src/netif/ppp/polarssl/sha1.c:42:20: warning: "LWIP_INCLUDED_POLARSSL_SHA1" is not defined [-Wundef]
lwip/src/netif/ppp/polarssl/des.c:43:20: warning: "LWIP_INCLUDED_POLARSSL_DES" is not defined [-Wundef]
2015-02-21 19:43:04 +01:00
Sylvain Rochet
a387270b76
PPP, PPPoS, fixed PPP_INPROC_MULTITHREADED support
...
Oops.
2015-02-21 19:38:47 +01:00
Sylvain Rochet
59b659b027
PPP, CORE, compile out auth support if none of auth protocols are enabled
...
Added macro PPP_AUTH_SUPPORT, if none of auth protocols are enabled
(PAP, CHAP, EAP) we reduce PPP memory usage by compiling out all
struct fields and source code used for authentication.
2015-02-21 19:32:38 +01:00
Sylvain Rochet
973472c51e
opt: clarified VJ support
...
VJ is only supported for PPPoS, RFCs does not say VJ is forbidden on
PPPoE or PPPoL2TP (looks like it is strongly discouraged though, due
to checksum issues when using VJ).
2015-02-21 18:43:31 +01:00
Sylvain Rochet
9052511c86
PPP, Documentation, fixed PPP_INPROC_MULTITHREADED default status
2015-02-21 18:41:39 +01:00
Sylvain Rochet
f57d4818a4
PPP, using PPP netif->num number instead of ppp->num
...
Saved 2 bytes of RAM if debug is enabled, we are now using the
netif->num number instead of using our own ppp->num
2015-02-21 01:21:24 +01:00
Sylvain Rochet
c5973dd411
PPP, Documentation, minor fixes
2015-02-21 00:05:38 +01:00
Sylvain Rochet
e5f38bf391
PPP, added PPP documentation
2015-02-21 00:01:43 +01:00
Sylvain Rochet
6b4db944dd
PPP, using err_t return code instead of PPPERR_
...
Standardised PPP API to follow lwIP already used return codes.
PPPERR_ are now used only on link status callback.
2015-02-20 21:24:58 +01:00
Sylvain Rochet
0a761d238a
PPP, using err_t return type on ppp_ioctl()
2015-02-20 21:01:24 +01:00
Sylvain Rochet
c8f026c382
PPP, PPPoS, removed PPPERR_ on err_t return type
2015-02-20 20:54:05 +01:00
Sylvain Rochet
2c70c12814
PPP, PPPoL2TP, removed PPPERR_ usage
...
Low level protocol callbacks are using err_t returns type,
don't use PPPERR_ on them.
2015-02-20 20:52:10 +01:00
Sylvain Rochet
b31f6eb45f
PPP, PPPoE, removed PPPERR_ usage
...
Low level protocol callbacks are using err_t returns type,
don't use PPPERR_ on them.
2015-02-20 20:51:37 +01:00
Sylvain Rochet
d387c1c83a
PPP, PPPoS, added missing static modifier on pppos_netif_input()
2015-02-20 19:35:12 +01:00
Sylvain Rochet
7a1a2b9aa6
PPP, PPPoS, code cleaning
2015-02-20 01:00:48 +01:00
Sylvain Rochet
444da3ecec
PPP, CORE, we don't need PPP_LINK_ENABLED_NUMBER anymore
2015-02-20 00:44:58 +01:00
Sylvain Rochet
1918914598
PPP, PPPoS, removed linked list
...
We don't need anymore the PPPoS linked list since we have callbacks
for everything.
2015-02-20 00:40:45 +01:00
Sylvain Rochet
29f3f2e1d8
PPP, PPPoS, moved VJ protocol handler to PPPoS
...
New callback, netif input, allow low level drivers to extend
ppp_input call, moved PPPoS VJ support to pppos.c.
2015-02-20 00:40:45 +01:00
Sylvain Rochet
759d11ce1a
PPP, CORE, beautified ppp_ioctl()
2015-02-20 00:40:45 +01:00
Sylvain Rochet
729e24da78
PPP, PPPoS, added sub-ioctl commands
...
Allow low level drivers to extend ioctl call, moved PPPoS ioctl
commands to pppos.c.
2015-02-20 00:40:45 +01:00
Sylvain Rochet
ec362536f5
PPP, uniformised callbacks naming
2015-02-20 00:40:45 +01:00
Sylvain Rochet
b92fe3eecb
PPP, CORE, new callbacks, send_config, recv_config, vj_config
...
Removed some calls from PPP core to PPPoS low level protocols,
the const struct allows us to have more and more callbacks
without using more RAM.
2015-02-20 00:40:44 +01:00
Sylvain Rochet
985de035bc
PPP, CORE, now using const callbacks struct from lower level protocols
...
Saving some RAM by using callbacks struct in rodata for required
callbacks called by PPP core to PPP low level protocols.
2015-02-20 00:40:44 +01:00
Sylvain Rochet
2e40ceaaa4
CORE, enabling only PPPoL2TP is also a valid choice
2015-02-20 00:40:44 +01:00