Bug 15868 - Deleting IP address from interface doesn't prevent sending a data.
Summary: Deleting IP address from interface doesn't prevent sending a data.
Status: RESOLVED DOCUMENTED
Alias: None
Product: Networking
Classification: Unclassified
Component: IPV4 (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-28 08:11 UTC by Yurij Plotnikov
Modified: 2010-04-28 17:04 UTC (History)
2 users (show)

See Also:
Kernel Version:
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Yurij Plotnikov 2010-04-28 08:11:00 UTC
Starting from 2.6.26, Linux kernel has strange behavior for the interface with two IPv4 addresses.

 Let A and B are hosts with directly connected interfaces ethA (on host A) and ethB (on host B). Let 10.10.0.1/24 and 10.10.0.3/24 addresses are assigned to ethA and 10.10.0.2/24 address is assigned to ethB. Let there is established TCP connection between host A and host B with sockets sock_A and sock_B that are bound to 10.10.0.3 and 10.10.0.2 addresses respectively. Then if someone deletes 10.10.0.3 address from ethA interface and after that send some data from sock_A socket then the data will be delivered to sock_B socket and someone can read it from this socket.

 There is the same picture for UDP sockets. With previous definitions if there are UDP sockets sock_A on host A and sock_B on host B and they are bound to 10.10.0.3 and 10.10.0.2 addresses respectively and they are connected to 10.10.0.2 and 10.10.0.3 addresses respectively then if someone deletes 10.10.0.3 address from ethA interface and after that send some data using send() function from sock_A then the data will be delivered to sock_B.

The data will not be sent in both cases if there are no addresses assigned to the interface after address removing.
Comment 1 Andrew Morton 2010-04-28 14:44:56 UTC
(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Wed, 28 Apr 2010 08:11:02 GMT bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=15868
> 
>            Summary: Deleting IP address from interface doesn't prevent
>                     sending a data.
>            Product: Networking
>            Version: 2.5
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: IPV4
>         AssignedTo: shemminger@linux-foundation.org
>         ReportedBy: Yurij.Plotnikov@oktetlabs.ru
>         Regression: No
> 
> 
> Starting from 2.6.26, Linux kernel has strange behavior for the interface
> with
> two IPv4 addresses.
> 
>  Let A and B are hosts with directly connected interfaces ethA (on host A)
>  and
> ethB (on host B). Let 10.10.0.1/24 and 10.10.0.3/24 addresses are assigned to
> ethA and 10.10.0.2/24 address is assigned to ethB. Let there is established
> TCP
> connection between host A and host B with sockets sock_A and sock_B that are
> bound to 10.10.0.3 and 10.10.0.2 addresses respectively. Then if someone
> deletes 10.10.0.3 address from ethA interface and after that send some data
> from sock_A socket then the data will be delivered to sock_B socket and
> someone
> can read it from this socket.
> 
>  There is the same picture for UDP sockets. With previous definitions if
>  there
> are UDP sockets sock_A on host A and sock_B on host B and they are bound to
> 10.10.0.3 and 10.10.0.2 addresses respectively and they are connected to
> 10.10.0.2 and 10.10.0.3 addresses respectively then if someone deletes
> 10.10.0.3 address from ethA interface and after that send some data using
> send() function from sock_A then the data will be delivered to sock_B.
> 
> The data will not be sent in both cases if there are no addresses assigned to
> the interface after address removing.
Comment 2 David S. Miller 2010-04-28 17:00:56 UTC
From: Andrew Morton <akpm@linux-foundation.org>
Date: Wed, 28 Apr 2010 07:42:44 -0400

> 
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
> 

This is expected behavior.
Comment 3 Andrew Morton 2010-04-28 17:04:25 UTC
On Wed, 28 Apr 2010 10:00:19 -0700 (PDT) David Miller <davem@davemloft.net> wrote:

> From: Andrew Morton <akpm@linux-foundation.org>
> Date: Wed, 28 Apr 2010 07:42:44 -0400
> 
> > 
> > (switched to email.  Please respond via emailed reply-to-all, not via the
> > bugzilla web interface).
> > 
> 
> This is expected behavior.

Yurij says the behavior chnaged.  Was 2.6.25 behaving incorrectly?

Note You need to log in before you can comment on or make changes to this bug.