Hello, we are having problems with sctp_bindx. We hope somebody can help us.

Sometimes sctp_bindx fails to remove an address although it returns 0.

Details: we have a virtual machine running Solaris 10 intel with 3 NICs.

    # ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 
index 1
            inet 127.0.0.1 netmask ff000000
    xnf0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 
1500 index 2
            inet 172.16.97.224 netmask fffff800 broadcast 172.16.103.255
            ether 0:16:3e:51:d2:bb
    xnf1: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 
1500 index 3
            inet 172.16.97.79 netmask fffff800 broadcast 172.16.103.255
            ether 0:16:3e:5b:e4:43
    xnf2: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 
1500 index 4
            inet 172.16.97.86 netmask fffff800 broadcast 172.16.103.255
            ether 0:16:3e:78:9d:ad
    lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 
index 1
            inet6 ::1/128
    xnf0: flags=202000840<RUNNING,MULTICAST,IPv6,CoS> mtu 1500 index 2
            inet6 fe80::216:3eff:fe51:d2bb/10
            ether 0:16:3e:51:d2:bb  

Let´s call addr1 to 172.16.97.224, addr2 to 172.16.97.86 and addr3 to 
172.16.97.79.
The attached example program, creates a pair of connected one-to-one sctp 
sockets:
the client (the one which made connect) and the server (the accepted one).
The server binded to addr1 and the client binded to addr2.

Then it adds addr3 to the client socket.
Then it verify addr3 is added with sctp_getladdrs().

Finally, it tries to remove addr3. Immediately after this, sctp_getladdrs()
doesn´t show addr3, as if it were removed, but after a while another 
sctp_getladdrs()
shows addr3 again.


>>> Output of the example program <<<<
$ ./a.out 172.16.97.224 172.16.97.86 172.16.97.79 12345
local addresses(1 - client):
        ::ffff:172.16.97.86:12345
local addresses(1 - server):
        ::ffff:172.16.97.224:12345
local addresses(1 - before SCTP_BINDX_ADD_ADDR):
        ::ffff:172.16.97.86:12345
local addresses(2 - after SCTP_BINDX_ADD_ADDR):
        ::ffff:172.16.97.79:12345
        ::ffff:172.16.97.86:12345
local addresses(3 - immediately after SCTP_BINDX_REM_ADDR ):
        ::ffff:172.16.97.86:12345
local addresses(4 - five seconds later):
        ::ffff:172.16.97.79:12345
        ::ffff:172.16.97.86:12345  
>>> End of output <<<<


Thanks in advance.
-- 
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
networking-discuss@opensolaris.org

Reply via email to