[openib-general] Re: [PATCH] CMA: allow/require bind beforeconnect
Caitlin Bestler
caitlinb at broadcom.com
Mon Mar 27 11:50:38 PST 2006
Roland Dreier wrote:
> Caitlin> From the perspective of any given host, IP addresses are
> Caitlin> unique across all interface devices. A given connection
> Caitlin> can therefore be identified by just the 4-tuple, with no
> Caitlin> need to explicitly state "via this device".
>
> ?? On my system here:
>
> # ifconfig
>
> eth0 Link encap:Ethernet HWaddr 00:14:C2:3A:AE:36
> inet addr:172.29.224.10 Bcast:172.29.224.255
> Mask:255.255.255.0 inet6 addr: fe80::214:c2ff:fe3a:ae36/64
> Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500
> Metric:1 RX packets:2709 errors:0 dropped:0 overruns:0
> frame:0 TX packets:1032 errors:0 dropped:0 overruns:0
> carrier:0 collisions:0 txqueuelen:1000
> RX bytes:1147909 (1.0 MiB) TX bytes:90343 (88.2 KiB)
> Interrupt:209
>
> eth1 Link encap:Ethernet HWaddr 00:14:C2:3A:AE:37
> inet addr:172.29.224.10 Bcast:172.29.224.255
> Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500
> Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
> Interrupt:217
A specific TCP connection is identified by the 4-tuple.
You cannot have the same 4-tuple refer to two different TCP
connections merely because one of them is on a different
device.
The closest thing to an exception are link-local IPv6 addreses,
which are therefore used almost exclusively for discovery.
There are numerous RFC MUSTs related to scope and meaning
of an IP address, it is not just an opaque value that can
be emulated by assigning a value.
The simplest thing to do is to ensure that local_addr:local_port
is unique for the active side without any form of caveat. But
there is no option that the same local_addr:local_port MUST
NOT request more than one active connection to a specific
remote_addr:remote port, no matter how many devices are
involved. The TCP stack on the remote side MUST NOT and
will not interpret the two as distinct connections.
More information about the general
mailing list