Hi Simon
Simon Kallweit wrote:
c) There are a lot of small changes under src/netif/ppp/ including
function renaming. I understand that you have your own PPP requirements
to consider but I think we should stick closer to the master sources
for the CVS check-in. Unless your changes have already been accepted
upstream?
Well, yesterday night I have checked the lwip HEAD, and it looks like
there has been lots of work done in the ppp departement. It now supports
polling and multi-threaded support out of the box. So it might be
considerable to directly use the current HEAD for inclusion into eCos
and keep it updated with the lwip repository until we hit the next
stable release. Backporting the ppp changes to the 1.3.2 codebase is a
bit troublesome as the internal timeout framework has changed a bit and
we would have to backport this too. I would pledge for the use of the
1.4.0 development tree. What do you think about this?
We always seem to be waiting for the next version of lwIP. :-)
True, true. But, with the original 1.3.2 lwip code, ppp can only be used
in a multi-threaded environment. I'd have to adapt the CDL etc. for the
vanilla 1.3.2 codebase and could not use it in my own projects. So this
effort seems kind of useless, at least to me. Moving on to 1.4.x would
solve the issues quite nicely. We would get updated ppp code, with full
support for usage in both single and multi-threaded environments. All I
say is, I'd rather invest some time moving forward than moving backward
:) But I certainly see your point here, it's been a long time already ...
At this stage, I would favour an initial check-in of something close to
lwIP 1.3.2 followed by an update of the PPP code from the lwIP HEAD as
time permits.
So you would like to import my changes to ppp? As said above, I don't
really want to go back to the original 1.3.2 ppp code myself.
I plan to upgrade my own application to lwip 1.4.x soon and get the
remaining changes of my ppp code (mostly 'record' support for debugging
ppp connections using wireshark) upstream. Of course, when we have 1.3.2
in the eCos repository, I could provide patches for the upgrade to 1.4.x.
OK. I've taken a look at src/netif/ppp/ in the upstream CVS HEAD. There
are, indeed, a lot of changes. I appreciate that you do not want to put
effort into unpicking your own PPP-related changes for the initial
check-in. I do not want to delay the check-in further, so the remaining
options are:
a) Check-in src/netif/ppp/* from upstream lwIP 1.3.2 for now and warn
eCos users that lwIP PPP is not yet supported. We could remove the
PPP-specific CDL items for to avoid confusion. People who want to
experiment with lwIP PPP immediately can still fetch your tarball to
make use of your current PPP changes.
b) Check-in src/netif/ppp/ from your contribution. We would have to
advise eCos users via CDL display strings and comments that the PPP API
and underlying functionality is non-standard and subject to significant
change in the near future. May be just append " (experimental)" to the
display string for CYGPKG_LWIP_PPP and mention that this feature is
"subject to alignment with the lwIP 1.4.x API" in the description string.
Having thought long and hard about this, I'm reasonably comfortable with
option (b) so long as we're all clear that the PPP implementation is
non-standard and will be replaced by something closer to the upstream
sources. It does not seem right to reject a well-tested lwIP PPP
implementation in favour of ... nothing usable.