The 2.4.x Kernel, ECN And Problem Websites 119
mitd writes: "Enterprise Linux Today is running an article about how some network devices i.e. routers, do not support ECN (Explicit Congestion Notification), causing WWW sites to be unavailable to 2.4.x kernel based hosts." The article does show you an easy workaround, though. (Read more below.)
"Nice quote: 'The answer is that Linux is once again on the cutting edge of networking technology ...' The article points out some major sites that have not updated their routers to handle ECN packets."
Anything that helps destroy congestion at least has my attention. (And in a parallel universe, legions of Windows users are howling that the Linux hegemonists have again chosen to implement new standards in order to drag them into the fold ;) )
Re:ECN is *not* enabled by default! (Score:1)
Re:Two weeks ago (Score:1)
Explicit Congestion Notification (ECN) allows routers to notify
clients about network congestion, resulting in fewer dropped packets
and increased network performance. This option adds ECN support to the
Linux kernel, as well as a sysctl (/proc/sys/net/ipv4/tcp_ecn) which
allows ECN support to be disabled at runtime.
Note that, on the Internet, there are many broken firewalls which
refuse connections from ECN-enabled machines, and it may be a while
before these firewalls are fixed. Until then, to access a site behind
such a firewall (some of which are major sites, at the time of this
writing) you will have to disable this option, either by saying N now
or by using the sysctl.
If in doubt, say N.
Re:Hilarious! RTFM, kind sir (Score:1)
ECN is *not* enabled by default! (Score:5)
If you find ECN enabled in your distributor's 2.4.x kernel package by default, please consider this a severe mistake on your distributor's part. Please do not consider it a bug in "the 2.4.x kernel". The author of the Enterprise Linux Today article owes Linus and the kernel developers a retraction and correction.
ECN - the Next Great Battle (Score:2)
IMHO, the kernel needs a standard on this. Should a network protocol be on or off, at boot time?
My next thought is that ECN is a Good Thing(tm) for these low-grade routers and firewalls. Either people upgrade (and thus remove security holes), or they lose sales, because nobody can reach them.
IMHO, someone needs to write an ECN module for Wintoes, to exploit this potential force for a quality Internet.
We =do= want a quality Internet... ...right??
Re:A bit like MS? (Score:1)
When is this ever not the case?
Bander
--
Re:ECN IS A STANDARD *NOT EXPERMENTAL* (Score:1)
Nope, try again.
It's <b>draft proposed standard</b>, not [B]draft proposed standard[/B]
html is really quite simple.
Keep away from them fancy "tools" and you can learn to type it in your sleep...
t_t_b
--
I think not; therefore I ain't®
How do I determine which router drops my packets? (Score:1)
The bit currently used for ECN, used to be marked as reserved and told be ignored. Packet with this bit set should not be dropped.
Mandatory or Compelling changes? (Score:2)
It seems that it could have major benefits in improving response times, but only if compliance was the rule rather than the exception. What other OSes currently support ECN? Anyone know? I haven't found much info yet.
Re:It's not the routers fault (Score:1)
Not being a Linux 2.4 user, I did not know this, but the blurb alludes to this fact.
> And it's a great idea. I wouldn't knock it, lest you understand it
I understand it, have read the RFC multiple times, and have implemented pieces of the standard. Still, I stand behind my original statement that it is a crummy standard. It breaks compatibility with other devices and implements network congestion avoidance at the transport layer.
I am not a member of "legions of Windows users", or a troll. Many Linux users have this lemming mindset that anything implemented by the kernel development team must be the correct way of doing things, and everyone else is wrong. They are the "stupid trolls", as someone so eloquently stated.
Re:Please refer to the linux-kernel mailing list F (Score:1)
Ahhh, open source. Its a bit messy, but works out nicely in the end more often than not...
So, I'd extrapolate and give them the benefit of the doubt on the ECN thing. They appear to be quite reasonable when presented with coherent arguments.
Hilarious! RTFM, kind sir (Score:1)
Here's a link for ya. LKML FAQ on ECN [tux.org]. Nifty.
As an aside, I thought it was entirely funny watching that stairstep. Did you notice that you got totally outgunned on slashdot IDs? Every single person trying to reason with you had been around for longer than you, and you're id indicates you're no slouch.
Anyway, it appears from the FAQ, the RFCs, and the circumstantial evidence of major vendors providing bug-fix patches for this thing that its not a "deny by default" thing like blocking HTML tags, its a real-deal out-of-spec problem, and networking vendors need to get their act together.
I didn't enable that option though, so I don't particularly care either way...
Re:Hilarious! RTFM, kind sir (Score:1)
Barring some statistically significant correlation between length of time on /. and general knowledge of networking, I'd believe it has no bearing
However, I'd speculate that length of time /. does have a correlation on fervor of defense in linux-critical articles and comments, of which this stairstep was one. That cracked me up.
I dig the 638 though - I prostrate myself before your greater /. glory ;-)
RFC != Standard, and ECN summary (Score:2)
Currently there is *absolutely no practical benefit* in setting ECN bits in Internet packets today, because you need ECN capable routers throughout a network (or at least at bottleneck points) for ECN to be useful.
ECN is intended to work like this:
- ECN-capable host sends packets, setting the ECN-Capable bit in the IP Header's TOS byte to 1 so that routers know ECN is worth using
- packet experiences congestion in a router somewhere, i.e. router queue is filling up but not yet full
- router, rather than dropping the packet (which it could do, see WRED), chooses to forward the packet but mark it as 'congestion experienced' using a spare bit in the TOS byte of the IP header.
- host senses that congestion was experienced and does something about it - essentially the same as if the packet was dropped (e.g. TCP will halve its window size) but with the benefit of being able to process the packet rather than having to wait.
The end result should be quicker adaptation to congestion conditions, by avoiding some timeouts and retransmissions.
ECN is an interesting technique, but it will take a long time for it to be tested and debugged in realistic conditions, and for people to deploy it widely (perhaps in a modified version that is Standards Track within the IETF). Some routers, particularly routers in the core of the Internet, may never use ECN, since dropping packets is easier than modifying one bit.
Turning on ECN now will at least mean that some firewalls won't drop packets with ECN bits set, which is probably a good thing, but it's only going to help the ECN researchers in practical terms.
This is ridiculous!!! (Score:1)
Re:Please refer to the linux-kernel mailing list F (Score:1)
Re:Carelessness (Score:1)
Supporting operating systems (Score:1)
ECN does not require universal adaptation to be helpful: every packet that is marked instead of dropped helps. However, it does require that firewalls stay out of the way to be successful.
Re:Weird ... (Score:2)
Re:Before any more strange comments show up... (Score:2)
and i'd bet that burstnet & the register use some sort of linux load-balancer, skewing the results.
---
Re:A fine line (Score:1)
Router mfgrs saw fit to ignore that.
Re:No updating should be necessary (Score:1)
The problem is not that ECN support is needed at the other end, the problem is that ECN uses bits which were otherwise reserved, and routers which don't know ECN are dropping packets based on the contents of reserved fields which they don't know anything about. If anything is broken, it's network hardware that's assigning new meanings to bits that it shouldn't assume anything about.
Re:ECN is *not* enabled by default! (Score:2)
I don't know which article you read, but I didn't see any statement that ECN was enabled by default. The author did not state where they got their 2.4.x kernel from but I assumed that they compiled it themselves. Especially since the first recommendation for disabling ECN was removing if from the kernel config file and recompiling. There is no need for a retraction, correction or apology. Please calm down 8^)
Re:Carelessness (Score:2)
Binary-only modules really aren't supported, you're not going to hear much crying on linux-kernel if they don't work. If you really-really-really cannot distribute modules precompiled for the major stock kernels (stock RH, Mandrake, Debian, SuSE, Caldera) or source then you can always do what 4-Front does, use a small shim that can be distributed as source. Recompile the shim on the target machine and voila! Linux will always be source compatable throughout a stable release, and that is what matters most.
Re:Please refer to the linux-kernel mailing list F (Score:2)
And if you would finish the story you would know that the vger admin turned off the DUL when he learned that it was causing problems. Case closed.
Re:Before any more strange comments show up... (Score:2)
Way to go. You tell 'em!
Perhaps one way to describe the situation succinctly would be:
The problem is network devices that don't implement ECN and fail to act passively with regard to the formerly reserved bit now used for ECN.
Re:Odd. (Score:1)
PROOF (Score:1)
Subject: Explicit Congestion Notification (ECN) now enabled on [lwn.net]
ftp/filehub.kernel.org
From: "H. Peter Anvin"
To: "kernel.org FTP administrator" ,
mirrors@linux.kernel.org
Subject: Explicit Congestion Notification (ECN) now enabled on
ftp/filehub.kernel.org
Date: Sun, 29 Apr 2001 21:55:49 -0700
I have enabled Explicit Congestion Notification on zeus.kernel.org, the
machine which contains ftp.kernel.org and filehub.kernel.org. This means
that some sites which are behind broken firewalls may have trouble
accessing it. If you are a mirror site, I would appreciate it if you
took the time and verified that you can still access filehub.kernel.org.
Jeff Garzik has a very good page listing ways to fix your firewall to
deal with these kinds of problems. If someone reports problems with ECN,
I suggest pointing them to it:
http://gtf.org/garzik/ecn/
In particular Cisco have production-level fixes out for all their
affected products.
-hpa
PROOF (Score:1)
ftp/filehub.kernel.org
From: "H. Peter Anvin"
To: "kernel.org FTP administrator" ,
mirrors@linux.kernel.org
Subject: Explicit Congestion Notification (ECN) now enabled on
ftp/filehub.kernel.org
Date: Sun, 29 Apr 2001 21:55:49 -0700
I have enabled Explicit Congestion Notification on zeus.kernel.org, the
machine which contains ftp.kernel.org and filehub.kernel.org. This means
that some sites which are behind broken firewalls may have trouble
accessing it. If you are a mirror site, I would appreciate it if you
took the time and verified that you can still access filehub.kernel.org.
Jeff Garzik has a very good page listing ways to fix your firewall to
deal with these kinds of problems. If someone reports problems with ECN,
I suggest pointing them to it:
http://gtf.org/garzik/ecn/
In particular Cisco have production-level fixes out for all their
affected products.
-hpa
linux-kernel mailing list will soon require ECN! (Score:2)
Is this irresposible or just a good incentive for the entire internet to upgrade their routers?
Please refer to the linux-kernel mailing list FAQ (Score:2)
Hot off the Presses:
On 22-FEB-2001, vger.kernel.org will enable ECN. You may need to switch ISP in order to receive linux-kernel email. See the section on ECN for more details.
On 25-JAN-2001, David Miller announced that vger.kernel.org will enable ECN in 4 weeks time. This means if your email account is with an ISP which has a buggy router, you will no longer be able to receive linux-kernel mail (as well as other mailing lists hosted on vger). You should check if your ISP is ECN tolerant, and get them to fix their routers or switch to another ISP.
Of course, these are the same people that use the MAPS DUL to block dial-up modem users [zork.net] from posting to the linux-kernel mailing list. Rik van Riel threw a temper tantrum, saying the DUL was class prejudice based on internet connection and that "DUL is an unethical list to use because it assumes guilty by default. Anyway, since linux-kernel has chosen to not receive email from me I won't bother answering VM bugreports or anything here." Alan Cox quickly replied, Thats ok. Andrea will I am sure be happy to take over as maintainer [of the VM subsystem]."
Re:Weird ... (Score:2)
I'm sorry, (Score:2)
It only takes moments to skim the kernel changelog for each new version.
Also, as I've said before, why on earth would you turn on something like ECN not knowing what it was? And the help file for ECN *DOES* say specifically that it will cause problems on the internet, because many routers don't support it yet.
This has nothing to do with instability. The kernel is very stable; this has to do with people using things without doing the research.
The reason a new 'version' isn't released once or twice a year only? OPEN SOURCE. Whenever there are a reasonable number of bug fixes, a new version comes out.
Not the point, however. (Score:2)
Re:Not the point, however. (Score:2)
THe bits ECN is using were originally flagged as 'other'.
And the main issue is packet filters that say 'these options aren't recognized, so it must be an attack! block it!'
Odd. (Score:4)
For each option that I didn't recognize, I hit the help button. The help button for ECN (which defaults to off) specifically states that ECN is not supported by some routers, and currently may cause problems with reaching websites on the Internet, so I left it off.
So my question is: Why would you turn on a new network option without knowing what it was?
Re:Odd. (Score:1)
Sturgeon's law: 90% of everything is crud.
Presumably, "people" is a subset of "everything".
Re:Before any more strange comments show up... (Score:2)
That said, most of the time you're probably right most of the time. Why fiddle with them when they're of no concern to you?
----------------------------------------------
Disabling ECN at runtime (Score:1)
If you want the benefits of ECN but still need to connect to sites behind broken routers/firewalls, you can temporarily switch it off:
echo 0 > /proc/sys/net/ipv4/tcp_ecn
And then a 1 to turn it back on again. No need for a reboot.
Re:Please refer to the linux-kernel mailing list F (Score:1)
Also, please note that using DUL generally does not block dial-up users: it forces them to use the ISP's server as a relay, as it should be. Unfortunately, it seems that there are troubles for some dial-up users to do so, and for the sake of them DUL has been dropped. But the vast majority is not affected at all.
Heck, if you want to use your local sendmail anyway (which makes sense with a dial-up account), setting it up your to smart relay your mail trough your ISP's servers is quite simple.
OTOH, ECN is really a benefit for every user on the net, and we should make pressure on ISPs and network admins to properly configure/update their routers, otherwise it will be just a really nice thing dropped for laziness.
Re:Weird ... (Score:2)
Or the firewall manufacturer could be forward-thinking, realise that someday someone might have a useful reason to set that bit, and reject the packet, probably by sending a RSET with ECN unset. That way the experimental host can be notified of the problem, and can try again without ECN if it chooses.
I have no disagreement with firewalls being paranoid. I do disagree with firewalls dropping these packets silently. Especially seeing as upgrades fixing the problem have been available since mid-2000, according to here. [tux.org]
-Spiv.
Re:No updating should be necessary (Score:3)
Actually, ECN is designed to be backwards compatible - if a host doesn't understand ECN, it should respond with a packet with the ECN bit turned off, and the ECN-aware originating host will behave accordingly.
The problem is routers that drop these packets silently. They should either let them through, or if paranoid, reject them, sending a RST back to the original host, which can then retry without ECN. Dropping silently just makes the connection attempt "hang", until it times out.
Further, it is *not* enabled by default, can be toggled at runtime via /proc/sys/net/ipv4/tcp_ecn and comes with warnings in the appropriate build option. I'd say that's perfectly responsible way to introduce a new feature.
-Spiv.
Re:Please refer to the linux-kernel mailing list F (Score:2)
It is highly debatable if forcing the use of a third party relay is a good thing or not. My own opinion is that the intention should be to eliminate these. The more third party machines an email appears to have passed through the harder it is to find out where it really came from.
Re:A fine line (Score:2)
Or even software designers thinking they are doing something clever when in fact they are being completly daft. A common problem, certainly not confined to IP coding in routers.
Re:Please refer to the linux-kernel mailing list F (Score:2)
With certain ISP business models an ISP third party relay is litte different in practice from an open third party relay.
If properly configured, the result is to increase accountability.
That can be a very big if
Some ISPs add headers to identify the message source and, even if they don't, they've got server logs to allow them to track things in the event of spamming.
A necessary first step is to verify someone's idenity before giving them acess. But then knowing which account used which IP, when (static or at least fairly static IP addressing helps here) is the information you'd actually need.
Also there are advantages to spammers in using third party relays, any third party relays... e.g. you only need to handle a subset of SMTP conditions when sending exclusivly through a third party relay.
Re:ECN - the Next Great Battle (Score:2)
This can allow a default kernel to be shipped, and if the user wants anything out the ordinary, then they can customize the startup scripts, without having to rebuild the kernel.
Re:Weird ... (Score:2)
Re:Weird ... (Score:2)
Actually, backwards compatibility was built into this. The problem is buggy equipment, which misbehaves when presented with option bits which it doesn't understand. This behavior violates RFC 791 Section 3.1 "A router MUST ignore IP options which it does not recognize.". Which means, pass on the packet with these options unchanged, rather than silently dropping them.
No updating should be necessary (Score:1)
DONT DISABLE ECN ! (Score:1)
Sorry, but if we disable it, we slightly reduce chances of having proper ECN support everywhere. So we will stick with congestions, although defense techniques do exist and are implemented. Just because of some lame software/hardware/sysadmin.
Not using a nice feature because of broken third party software is not a thing to do. Enable the feature, and bother at non-conformant sites.
Should we stick to HTML 1.0 because some rare clients still have a very old browser lying around ? No. Having only a HTML 1.0 compliant browser is totally silly nowadays, clients have to upgrade. So why isn't it the same scenario with ECN ?
It's just like IPv6. IPv6 drafts exist for a long time. There are implementations for all major operating systems. Everything is widely documented. But almost no one did a single step to move toward IPv6. Why ? Because many pieces of software still don't support IPv6. And why don't they ? Because their developper think "almost no one moved to IPv6, anyway". And you got a marvellous vicious circle. And we stay with a shitty technology while there are alternatives.
Please do the step.
http://www.pureftpd.org
IPv6 compliant.
Re:Two weeks ago (Score:2)
Also, have you submitted a patch to fix the documentation?
Re:No problems here.. (Score:1)
Re:No problems here.. (Score:3)
Re:Weird ... (Score:2)
--
Re:Carelessness (Score:3)
The thing that I don't understand is why the license agreement that comes with most drivers prohibits me from making copies of the drivers. Honestly, are you going to sell any fewer products if I give a copy of the driver to my friend?
Re:No problems here.. (Score:2)
True, it does say in the kernel configuration that this option might get you into trouble. So do several options. What the kernel help doesn't say is any good way to tell that ECN is giving you problems. No diagnostic measures to try in the event of problems.
Some of us like to try new things. We like to see what happens if we enable a feature, because we like to find bugs and squash them. Many people who are running Linux just want a stable system to work with, and that's good. However, those of us who remember what it was like before Linux went mainstream want to continue to push the envelope.
ECN protocol is probably broken... (Score:1)
Had I done this, I would have added the extra bits elsewhere... perhaps TCP header extensions.
Hint to implementors. I would attempt to see if a clear path exists for those bits to work before applying it to a circuit.
As I said before I think that the protocol is broken because the discovery mechanism is unreliable as we have now seen.
Time to go back to the drawing board folks...
Re:ECN protocol is probably broken... (Score:1)
I guess the firewalls/routers have their own reasons for rejecting such packets. The reality is that ECN in the spirit of not breaking backward compatibility should be able to work around these scenarios. It current;y doesn't which is why I suggest it needs to be sent back to the drawing board.
My suggestion is to try ECN first, if a RST is encountered, try again without ECN and mark the path as ECN unfriendly. If the firewall is dropping packets, then perhaps alternate TCP SYN's between ECN & non-ECN packets until a connection is established or timeout.
It is not a solution to insist that the errant routers/firewalls be replaced. The may have very good reasons for their paranoid rules and in many cases it may be impractical to perform an upgrade.
Consider also the case where the reserved TCP bits might be in use locally in a site for traffic management (perhaps in error). site policies might mandate that exploits using these bits be terminated ASAP.
Anyway, my main gripe is that the solution to the scenarios is not to fix the routers/firewalls, but to implement better workarounds in the protocol itself. The appropriate and well tested method of extending protocols like TCP is through header options, and not by manipulating the reserved bits.
P
Re:ECN is *not* enabled by default! (Score:1)
Re:No updating should be necessary (Score:1)
No, it isn't. ECN is an experimental protocol, and there is no requirement for everybody to implement every experimental protocol invented.
In fact, there's a very strong argument to be made that linux is being non-standards compliant, since the first rule of experimental protocols is "don't send packets to people who haven't asked for them".
*cough* EXPERIMENTAL *cough* (Score:2)
If using an EXPERIMENTAL protocol breaks stuff, don't use it. You certainly shouldn't expect people to conform to your own non-standard behaviour.
Re:Weird ... (Score:2)
Right... only routers which do not obey an EXPERIMENTAL RFC run into problems. Guess what? You don't have to obey experimental RFCs. That's why they're *experimental*, not *standards*.
Re:ECN IS A STANDARD *NOT EXPERMENTAL* (Score:2)
BZZZZZT. Nope, try again. There is now a [B]draft proposed standard[/B] for ECN. That's it. It isn't a standard yet, and won't be for quite some time yet.
Re:Weird ... (Score:2)
Re:Weird ... (Score:2)
Which doesn't apply here, since ECN is implemented via bits in the TOS octet, not in an optional IP header.
Re:Before any more strange comments show up... (Score:2)
In case people are too lazy to look up RFC 2026 themselves, here's the relevant section:
And from the top of RFC 2481:
It's called "deny by default" (Score:2)
Secure firewalls are designed to block traffic by default.
In other words, if the firewall doesn't understand the packets being sent through it, it will drop them. There's nothing wrong with this behaviour; in fact, if you try to build a "default-accept" firewall by blocking off packets which you know to be undesireable, you'll inevitably run into problems. However, anyone who has tried to get streaming media, or play warcraft, or use any other new protocols through an old firewall will be able to say that this policy can be a nuisance.
Which, of course, is one reason why there is an internet *standards track* giving people time to adapt to new protocols.
Re:Not the point, however. (Score:2)
I don't know about these specific routers (have we been told which they are?) but the problem might be that they do understand those bits -- in a different meaning. The TOS bits have been redefined a number of times, and the bits used by ECN have been used for other things in the past.
Re:Couldn't it be made per-host? (Score:1)
I suggested this at the time it was being discussed on lkml, but Dave Miller considered this to violate the RFCs. There are two ways in which these firewalls misbehave with ECN: either they send an RST packet ("connection refused"), in which case the kernel cannot retry the connection, or it just discards the packet (and the connection times out). In the latter case, the kernel retries anyway - but keeping ECN enabled.
I suggested retrying with ECN disabled on these retransmissions, but this was regarded as too much of a "hack". One problem is that these routers are broken - violating the RFCs - and Dave Miller is reluctant to work around this sort of problem. He wants as many hosts as possible to hit this problem, to force the owners of these routers to upgrade to RFC-compliant software instead. The trouble is, according to the IETF's survey, 8% of hosts are unreachable with ECN enabled - so enabling ECN is a big problem! (One site with ECN blocked when this topic came up on lkml is Hotmail - enable ECN, and you cut off a *LOT* of sites!)
Re:Carelessness (Score:1)
Bull. The major kernel releases are more than a year apart, and the minor releases for user kernels are bugfixes, not "new kernels". If the bugfix breaks your module, you were doing something wrong.
The frequent minor releases are what makes the kernel *stable* because otherwise, not enough people could participate in debugging in the open environment.
Re:This just proves it. (Score:1)
Re:Carelessness (Score:1)
Re:This just proves it. (Score:1)
Re:Weird ... (Score:1)
Note the RFC for ECN does not even enter into this. They should just silently pass a packet with that bit set along like any other.
Its not so much that Linux is on the bleeding edge, its more that said router programmers didn't RTFM.
Re:Two weeks ago (Score:1)
Weird ... (Score:1)
Why wasn't backwards compatibility built in to this? Is there some major technical reason why it would be impossible? Seems to me that a "cutting edge" "experimental technology" ought to at least be backwards compatible with all the old stuff.
Sheesh!
Dlugar
Re:It's not the routers fault (Score:1)
You can enable and disable it on the fly. And it's a great idea. I wouldn't knock it, lest you understand it.
signature smigmature
Two weeks ago (Score:2)
After much troubleshooting, we found the problem. Perhaps the kernel help for ECN should have the warning about certain routers not supporting ECN nearer-to-the top of the help, instead of in the second paragraph:)
- James
signature smigmature
Yeah right. (Score:1)
Link.
Re:Weird ... (Score:2)
A bit like MS? (Score:1)
What is annoying..... (Score:1)
Re:Please refer to the linux-kernel mailing list F (Score:1)
---
Re:Huh? (Score:1)
They did, but it would be hypocritical for them to enforce the patent. So OSDN will be doing it instead.
My mom is not a Karma whore!
Re:ECN protocol is probably broken... (Score:1)
More more details on tests to verify what's happening, see http://www.aciri.org/tbit [aciri.org]
- Fzz
Re:Couldn't it be made per-host? (Score:1)
That's a lovely thought, and I think it's a fine idea, but it's horribly impractical. I think the solution is to provide both behaviors, make it a module option, and let people set it if they like.
The fact of the matter is that you will never get everyone to do everything properly. It's just plain not going to happen. Yes, you should try, but you should also try to play well with others, even if they aren't inclined to do the same.
--
ALL YOUR KARMA ARE BELONG TO US
Re:It's called "deny by default" (Score:1)
I think you're reading the wrong things into this. Yes, a firewall is generally default deny, and with good reason. But bits "reserved" in the specification for TCP/IP should not even be examined by a firewall which doesn't actually know that they're supposed to be used for something. In this way, you preserve compatibility with future upgrades. Sure, you'll be missing some functionality, but then I've always thought that firewalls are, without exception, crap. Every firewall should be user extensible WITHOUT tweaking code; You should be able to name a bit, and then use that name in your matching criteria. Alternately, specifying bit masks would be a crappier but workable alternative.
--
ALL YOUR KARMA ARE BELONG TO US
Re:Carelessness (Score:1)
At least - that's my understanding of how modules work. As far as I know, they contain specific symbols that link them to one kernel compile at a time - which is why the NVIDIA kernel module is a small C module to interface with the actual binary module. You compile the small C module which just links in at compile time the actual NVIDIA binary-only module. That solves the kernel versioning issues - although there may be ways to use out-dated modules in newer builds (like a 2.2.17 module in 2.2.18, but definately not 2.2.17 in 2.4.3). But if there is, I don't know what it is.
Of course, in the perfect Open Source world, you can recompile the modules every new kernel, but if people want vendor Linux driver support, some sacrafices must be made...
Re:No updating should be necessary (Score:2)
It might have helped if you had decided to read the comment you replied to. alehmann said nothing about implementing ECN. ahelmann did say something about blocking ECN. There is a world of difference. See, routers shouldn't just throw packets away if they have extra information in them. This is rude, and hinders adoption of new protocols, which don't hinder the router's operation in the least, and will often allow hosts on either side of the router to utilize these new protocols, even though the router in question cannot.
Go away and come back when you have learned about the Internet.
--
No problems here.. (Score:2)
Re:ECN is *not* enabled by default! (Score:1)
Re:ECN is *not* enabled by default! (Score:1)
Re:Couldn't it be made per-host? (Score:1)
Trying every outgoing connection twice (once with, and once without) would work much better, but I don't know how many people would like that sort of behavior.
I wonder (Score:1)
Couldn't it be made per-host? (Score:3)
An "opt-out" version could be made too, but I guess an external maintainer would be needed for such a list -- it wouldn't be desirable for every other connection to drop in the process of building what supposedly is a performance booster.
Re:No updating should be necessary (Score:2)
Hey, since MS owns Hotmail, I am sure that someone there thinks that they are not under any obligation to help out by acceptin ECN.
;-)
"Bill, do you think we should use this ECN stuff?"
"I don't know, do we own it?"
"Nope"
"Does NOT accepting this Screw up Linux?"
"Yep"
"Can you read my Mind?"
"Yep!"
Of course, I would never accuse anyone of being negligent, or of being underhanded. Me? never!
Check out the Vinny the Vampire [eplugz.com] comic strip
Re:Please refer to the linux-kernel mailing list F (Score:2)
However, it's worth pointing out that this isn't trying to force the user to use an arbitrary third-party relay. Instead, this is try to get dialup users to relay through their own ISPs mail server. If properly configured, the result is to increase accountability. Some ISPs add headers to identify the message source and, even if they don't, they've got server logs to allow them to track things in the event of spamming.
Re:Before any more strange comments show up... (Score:3)
All right, this is a flame. Dareth I answer it...
ECN is *NOT* a standard, nor even standards track.
The fact ECN is written up as a request for comments document (RFC) means it *is* well on its way to becoming an Internet standard. Even the process itself of becoming an Internet standard is written up as an RFC. Look at the main web page at www.ietf.org [ietf.org] and click on the link marked "The Internet Standards Process." Look at what is there! RFC 2026!
Many protocols in modern use never became an Internet "standard"; these include things like Mobile IP and 802.11 wireless Ethernet. Your idenfication protocol used by almost any IRC server is RFC's 1431 and 0931; they never became a standard. The number of Internet standards actually issued number less than 70. The IETF itself doesn't link to them much anymore since there is an normally an RFC representing the final form of each one.
[The] systems that you have 'problems' with are systems that support ECN, not systems that don't support ECN
Sorry! Thanks for playing. If the client says it supports ECN by flagging that fact with the bits once reserved for future use, it will not run into problems if the other side says it does not. The routers, firewalls, load balancers and/or servers on the other that do not know simply to leave those bits alone and continue normally can be faulted. The TCP protocol said those bits might be used later, but many programmers did not heed that warning. Instead, they drop packets using the once reserved bits, send TCP or ICMP reset messages, etc.
So in a way, it is the client's fault for supporing a newer extension of TCP/IP that the older one. The extension works fine -- as long as the other end still tries to establish a connection reguardless of ECN support!
The reason you have trouble with these sites is because you have a client which respects the ECN bit, and there are thousands/millions of other clients which don't, which has the effect of you never reaching the site, since you always back off in deference to those clients which don't.
Major sites must be busy to the point their links are congested, aren't they? I hope not. Read the article; the problem is routers, firewalls, and other devices seeing the bits marked "for furture use" being used, and considering packets invalid. Again, the fact that an ECN host tries contacting a host that does not support ECN is irrelevant; as long as the packets get through, the ECN-aware end will realize the other end does not, and revert to normal congestion behavior.
If no device on the other end spoke ECN, you wouldn't have this problem, as it wouldn't have any way to know to treat an ECN aware client differently than one that wasn't.
The ECN aware client is in charge, at least in the failure cases cited by the article. In most failure cases (at least those I have seen), it is the *client* requesting that the connection use ECN in the first place (although servers are welcome to as well). If after the initial handshake it discovers the remote host does not know ECN, it uses the old-style of TCP throttling behavior in response to bad packets. The ECN extension was designed to allow backwards compatibility with older clients; the people who designed it were not that foolish.
Get an education before you start posting pretending you know what you're talking about.
Is the fact I have a bachelors degree in Electrical and Computer Engineering (with honors), 99% of the work for a masters degree in the same, and the fact I was accepted to one of the top doctoral schools in the country enough education? I have spent many many years studying network protocol theory, and several years administering servers. I even wrote my own IRC client at ones point in time based off the RFC documents on it, and that protocol is hardly "experimental" anymore...
Before any more strange comments show up... (Score:4)
Let me just say that it is the systems that do *not* handle ECN that are at fault, not the systems that *do* support it. Read the RFC specification here here [ietf.org], or from your nearest RFC mirror (#2481). Note how bits marked as "presently unused" and "reserved for future use" are used for explicit congestion notification.
Any protocol implementation with a bit of sanity would know to leave reserved bits it did not how handle unchanged. Unfortunately, many systems do not do this. Some firewalls see reserved bits being used as a threat, and reset connections. Other systems have no clue how to react if a reserved bit is not the default value.
A partial list of sites I know have trouble with ECN enabled (thank goodness they are the minority of web sites out there) is below. But this is like the Y2K bug; it never really should have existed.
Sites with known ECN problems (that I've seen, anyway)
(These are only sites I visit rarely, thank goodness; I typically surf another 20+ websites daily without incident)
Re:No updating should be necessary (Score:2)