netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felix von Leitner <felix-kernel@fefe.de>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Vlad Yasevich <vladislav.yasevich@hp.com>,
	Brian Haley <brian.haley@hp.com>,
	netdev@vger.kernel.org
Subject: Re: socket api problem: can't bind an ipv6 socket to ::ffff:0.0.0.0
Date: Tue, 17 Mar 2009 19:01:37 +0100	[thread overview]
Message-ID: <20090317180136.GB13270@codeblau.de> (raw)
In-Reply-To: <49BFBFF4.5060206@cosmosbay.com>

> Trying to understand why you seem furious, lets try to be pragmatic.

I'm not furious.  I just get angry when people I submit a bug report to
tell me they don't want to fix the bug.

Some people think that if I submit a bug to them, they are doing me a
service if they fix the bug.  In fact it's the opposite of that.  If I
submit a bug, I am doing them a service, because I am telling them in
what way their software fails to meet the requirements of the users.

> Most users of your great program wont have a fix for this until next year.

You underestimate my users.  The few ones that run into this kind of
problem are not above patching their kernels to make it work.

But I am not willing to provide a kernel patch and do the customer
support for that.

> I am afraid you have no choice but change your program, or loose users.

No I will not.  My program works.  Just not on Linux.
If my users see that "the Linux people" don't consider running high
profile high throughput messing systems important enough to remove one
if clause of dubious merit, then they go switch to Solaris or FreeBSD
instead.  And then Solaris and FreeBSD get the PR benefit.

> Still I dont get your point. Having TCP V6 sockets is much more expensive
> at kernel level (same for UDP), and bittorrent is known to stress network a bit, so
> having application use an IPV4 socket where it can is a win for your
> program getting more users, and computers spend less power.

There are two things to say to that:

  1. IPv6 is the future.  If I implement IPv4 code because the IPv6 code
  is slower, there will never be an incentive for the kernel people to
  tune the IPv6 code, and it will continue to suck.

  2. IPv4 users won't ever switch to IPv6 if they hear it's so slow that
  people like me had to provide a legacy code path for performance
  reasons.  That is exactly the wrong message to send.

  3. In my benchmarks the performance difference was negligible.  It was
  in the area of 1-2%, i.e. within the margin of error.

> Gasp, OSX having this "::ffff:0.0.0.0" right is probably the reason why more computers
>  run OSX than linux. Sometime dont implement RFC too literally :)

Your target audience is not the RFCs, it's the people.
And the people just told you that you implemented this part of the code
wrong.

Please listen to your users and don't berate them.

Even if we assume that the RFCs can be read so that the current
implementation is technically not illegal, note that the other operating
systems interpreted it differently.  So you miss the main goal of the
RFCs, providing a fertile ground for interoperability.

Just forget all I said.  Just look at the facts.

The RFCs are unclear.
All the other major IPv6 stacks do it the other way.
Maybe they are right?

Felix

  reply	other threads:[~2009-03-17 18:01 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-16 23:48 socket api problem: can't bind an ipv6 socket to ::ffff:0.0.0.0 Felix von Leitner
2009-03-17  0:00 ` Stephen Hemminger
2009-03-17  0:18   ` Felix von Leitner
2009-03-17  2:26 ` Brian Haley
2009-03-17  2:47   ` Eric Dumazet
2009-03-17  8:51     ` Bjørn Mork
2009-03-17 16:00     ` Brian Haley
2009-03-17 12:58   ` Felix von Leitner
2009-03-17 13:47     ` Vlad Yasevich
2009-03-17 14:14       ` Felix von Leitner
2009-03-17 14:57         ` Vlad Yasevich
2009-03-17 17:51           ` Felix von Leitner
2009-03-17 15:21         ` Eric Dumazet
2009-03-17 18:01           ` Felix von Leitner [this message]
2009-03-17 15:59     ` Brian Haley
     [not found]       ` <20090317180840.GC13270@codeblau.de>
2009-03-17 19:21         ` Brian Haley
2009-03-17 19:31           ` David Miller
2009-03-17 21:05             ` Vlad Yasevich
2009-03-17 21:05             ` [RFC PATCH 1/4] ipv6: Disallow binding to v4-mapped address on v6-only socket Vlad Yasevich
2009-03-17 21:06             ` [RFC PATCH 2/4] ipv6: Allow ipv4 wildcard binds after ipv6 address binds Vlad Yasevich
2009-03-17 21:06             ` [RFC PATCH 3/4] ipv6: Make v4-mapped bindings consitant with IPv4 Vlad Yasevich
2009-03-17 21:06             ` [RFC PATCH 4/4] ipv6: Fix conflict resolutions during ipv6 binding Vlad Yasevich
2009-03-18  9:13             ` socket api problem: can't bind an ipv6 socket to ::ffff:0.0.0.0 Jarek Poplawski
2009-03-18 21:36               ` David Miller
2009-03-18 21:53                 ` Jarek Poplawski
2009-03-19  0:32                   ` David Miller
2009-03-17  9:03 ` Bjørn Mork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090317180136.GB13270@codeblau.de \
    --to=felix-kernel@fefe.de \
    --cc=brian.haley@hp.com \
    --cc=dada1@cosmosbay.com \
    --cc=netdev@vger.kernel.org \
    --cc=vladislav.yasevich@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).