lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <65B1DE9F-64BB-4988-B287-AC1C77E1F08C@sfc.wide.ad.jp>
Date:	Thu, 28 Apr 2011 10:09:33 +0900
From:	Michio Honda <micchie@....wide.ad.jp>
To:	Wei Yongjun <yjwei@...fujitsu.com>
Cc:	netdev@...r.kernel.org, YOSHIFUJI Hideaki <yoshfuji@...ux-ipv6.org>
Subject: Re: [PATCH 0/6] sctp: Auto-ASCONF patch series

I resubmitted patches, thanks!

- Michio

On Apr 27, 2011, at 18:43 , Wei Yongjun wrote:

> 
> 
>> mmm, can you send me the test program?
>> I'll fix ASAP!
> 
> Host1:
> $sctp_test -H 0.0.0.0 -P 9000 -l
> 
> Host2:
> $ifconfig eth2
> eth2      Link encap:Ethernet  HWaddr 52:54:00:70:99:3D 
>          inet addr:192.168.1.21  Bcast:192.168.1.255  Mask:255.255.255.0
>          inet6 addr: 3ffe:501:ffff:101:5054:ff:fe70:993d/64 Scope:Global
>          inet6 addr: fe80::5054:ff:fe70:993d/64 Scope:Link
> ...
> 
> ifconfig eth1
> eth1      Link encap:Ethernet  HWaddr 52:54:00:1A:F0:5C 
>          inet addr:192.168.0.21  Bcast:192.168.0.255  Mask:255.255.255.0
>          inet6 addr: 3ffe:501:ffff:100:5054:ff:fe1a:f05c/64 Scope:Global
>          inet6 addr: fe80::5054:ff:fe1a:f05c/64 Scope:Link
> ...
> 
> $ifdown eth2
> $sctp_test -H 0.0.0.0 -P 9000 -h 192.168.0.19 -p 9000 -s -x 1 -D -T&
> $ifup eth1
> 
> and tcpdump and eth1
> 
> You may need some thing like this:
> 
> [PATCH 3/6] sctp: Add Auto-ASCONF support (core).
> 
> +int sctp_asconf_mgmt(struct sctp_sock *sp, struct sctp_sockaddr_entry *addrw)
> +{
> +    struct sock *sk = sctp_opt2sk(sp);
> +    union sctp_addr *addr;
> +
> +    /* It is safe to write port space in caller. */
> +    addr = &addrw->a;
> +    addr->v4.sin_port = htons(sp->ep->base.bind_addr.port);
> +
>       af = sctp_get_af_specific(...);
> 
>       if (sctp_verify_addr(sk, &to, af->sockaddr_len))
>             return;
> 
> +    if (addrw->state == SCTP_ADDR_NEW)
> +        return sctp_send_asconf_add_ip(sk, (struct sockaddr *)addr, 1);
> +    else
> +        return sctp_send_asconf_del_ip(sk, (struct sockaddr *)addr, 1);
> +}
> 
> 
> 
> 
>> - Michio
>> 
>> On Apr 27, 2011, at 18:28 , Wei Yongjun wrote:
>> 
>>>> From 9ede9db0ec4b03d3061a5bfed78328cb5528b908 Mon Sep 17 00:00:00 2001
>>>> From: Michio Honda <micchie@....wide.ad.jp>
>>>> Date: Wed, 27 Apr 2011 17:16:21 +0900
>>>> Subject: [PATCH 0/6] sctp: Auto-ASCONF patch series
>>>> 
>>>> Series of 6 patches to support auto_asconf and the other related functionalities that auto_asconf relies on. 
>>>> 
>>>> Michio Honda (5):
>>>> sctp: Add ADD/DEL ASCONF handling at the receiver.
>>>> sctp: Add Auto-ASCONF support (core).
>>>> sctp: Add sysctl support for Auto-ASCONF.
>>>> sctp: Add socket option operation for Auto-ASCONF.
>>>> sctp: sctp: Add ASCONF operation on the single-homed host
>>>> 
>>>> YOSHIFUJI Hideaki (1):
>>>> sctp: Allow regular C expression in 4th argument for
>>>>   SCTP_DEBUG_PRINTK_IPADDR macro.
>>> 
>>> When I test this patchset using IPv4 only socket,
>>> Host1:
>>> #sctp_test -H 0.0.0.0 -P 9000 -l
>>> Host2:
>>> #sctp_test -H 0.0.0.0 -P 9000 -h 192.168.0.19 -p 9000 -s -x 1 -D -T
>>> I got following unexpected thing, IPv6 address be added to the asoc.
>>> 
>>> Frame 3 (118 bytes on wire, 118 bytes captured)
>>>   Arrival Time: Apr 27, 2011 17:17:59.572897000
>>>   [Time delta from previous captured frame: 13.804056000 seconds]
>>>   [Time delta from previous displayed frame: 13.804056000 seconds]
>>>   [Time since reference or first frame: 13.804105000 seconds]
>>>   Frame Number: 3
>>>   Frame Length: 118 bytes
>>>   Capture Length: 118 bytes
>>>   [Frame is marked: False]
>>>   [Protocols in frame: eth:ip:sctp]
>>> Ethernet II, Src: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c), Dst: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>   Destination: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       Address: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Source: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       Address: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Type: IP (0x0800)
>>> Internet Protocol, Src: 192.168.0.21 (192.168.0.21), Dst: 192.168.0.19 (192.168.0.19)
>>>   Version: 4
>>>   Header length: 20 bytes
>>>   Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02)
>>>       0000 00.. = Differentiated Services Codepoint: Default (0x00)
>>>       .... ..1. = ECN-Capable Transport (ECT): 1
>>>       .... ...0 = ECN-CE: 0
>>>   Total Length: 104
>>>   Identification: 0x001e (30)
>>>   Flags: 0x02 (Don't Fragment)
>>>       0.. = Reserved bit: Not Set
>>>       .1. = Don't fragment: Set
>>>       ..0 = More fragments: Not Set
>>>   Fragment offset: 0
>>>   Time to live: 64
>>>   Protocol: SCTP (0x84)
>>>   Header checksum: 0xb879 [correct]
>>>       [Good: True]
>>>       [Bad : False]
>>>   Source: 192.168.0.21 (192.168.0.21)
>>>   Destination: 192.168.0.19 (192.168.0.19)
>>> Stream Control Transmission Protocol, Src Port: 9000 (9000), Dst Port: 9000 (9000)
>>>   Source port: 9000
>>>   Destination port: 9000
>>>   Verification tag: 0x2b1e0377
>>>   Checksum: 0x2a2e5aff (not verified)
>>>   AUTH chunk
>>>       Chunk type: AUTH (15)
>>>           0... .... = Bit: Stop processing of the packet
>>>           .0.. .... = Bit: Do not report
>>>       Chunk flags: 0x00
>>>       Chunk length: 28
>>>       Shared key identifier: 0
>>>       HMAC identifier: SHA-1 (1)
>>>       HMAC: AA21B3835E1069FBFFA3589B1EB4C0AE47021F15
>>>   ASCONF chunk
>>>       Chunk type: ASCONF (193)
>>>           1... .... = Bit: Skip chunk and continue processing of the packet
>>>           .1.. .... = Bit: Do report
>>>       Chunk flags: 0x00
>>>       Chunk length: 44
>>>       Serial number: 0xfa0b220b
>>>       IPv4 address parameter (Address: 192.168.1.21)
>>>           Parameter type: IPv4 address (0x0005)
>>>               0... .... .... .... = Bit: Stop processing of chunk
>>>               .0.. .... .... .... = Bit: Do not report
>>>           Parameter length: 8
>>>           IP Version 4 address: 192.168.1.21 (192.168.1.21)
>>>       Delete IP address parameter (Address: 3ffe:501:ffff:101:5054:ff:fe70:993d, correlation ID: 0)
>>>           Parameter type: Delete IP address (0xc002)
>>>               1... .... .... .... = Bit: Skip parameter and continue processing of the chunk
>>>               .1.. .... .... .... = Bit: Do report
>>>           Parameter length: 28
>>>           Correlation_id: 0x00000000
>>>           IPv6 address parameter (Address: 3ffe:501:ffff:101:5054:ff:fe70:993d)
>>>               Parameter type: IPv6 address (0x0006)
>>>                   0... .... .... .... = Bit: Stop processing of chunk
>>>                   .0.. .... .... .... = Bit: Do not report
>>>               Parameter length: 20
>>>               IP Version 6 address: 3ffe:501:ffff:101:5054:ff:fe70:993d (3ffe:501:ffff:101:5054:ff:fe70:993d)
>>> 
>>> No.     Time        Source                Destination           Protocol Info
>>>     4 13.804193   192.168.0.19          192.168.0.21          SCTP     AUTH ASCONF_ACK 
>>> 
>>> Frame 4 (122 bytes on wire, 122 bytes captured)
>>>   Arrival Time: Apr 27, 2011 17:17:59.572985000
>>>   [Time delta from previous captured frame: 0.000088000 seconds]
>>>   [Time delta from previous displayed frame: 0.000088000 seconds]
>>>   [Time since reference or first frame: 13.804193000 seconds]
>>>   Frame Number: 4
>>>   Frame Length: 122 bytes
>>>   Capture Length: 122 bytes
>>>   [Frame is marked: False]
>>>   [Protocols in frame: eth:ip:sctp]
>>> Ethernet II, Src: RealtekU_21:3c:7c (52:54:00:21:3c:7c), Dst: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>   Destination: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       Address: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Source: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       Address: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Type: IP (0x0800)
>>> Internet Protocol, Src: 192.168.0.19 (192.168.0.19), Dst: 192.168.0.21 (192.168.0.21)
>>>   Version: 4
>>>   Header length: 20 bytes
>>>   Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02)
>>>       0000 00.. = Differentiated Services Codepoint: Default (0x00)
>>>       .... ..1. = ECN-Capable Transport (ECT): 1
>>>       .... ...0 = ECN-CE: 0
>>>   Total Length: 108
>>>   Identification: 0x0000 (0)
>>>   Flags: 0x02 (Don't Fragment)
>>>       0.. = Reserved bit: Not Set
>>>       .1. = Don't fragment: Set
>>>       ..0 = More fragments: Not Set
>>>   Fragment offset: 0
>>>   Time to live: 64
>>>   Protocol: SCTP (0x84)
>>>   Header checksum: 0xb893 [correct]
>>>       [Good: True]
>>>       [Bad : False]
>>>   Source: 192.168.0.19 (192.168.0.19)
>>>   Destination: 192.168.0.21 (192.168.0.21)
>>> Stream Control Transmission Protocol, Src Port: 9000 (9000), Dst Port: 9000 (9000)
>>>   Source port: 9000
>>>   Destination port: 9000
>>>   Verification tag: 0x1b2d2288
>>>   Checksum: 0x9b288dab (not verified)
>>>   AUTH chunk
>>>       Chunk type: AUTH (15)
>>>           0... .... = Bit: Stop processing of the packet
>>>           .0.. .... = Bit: Do not report
>>>       Chunk flags: 0x00
>>>       Chunk length: 28
>>>       Shared key identifier: 0
>>>       HMAC identifier: SHA-1 (1)
>>>       HMAC: DDB8D3766671957FABA3554DE588599C9624DCBB
>>>   ASCONF_ACK chunk
>>>       Chunk type: ASCONF_ACK (128)
>>>           1... .... = Bit: Skip chunk and continue processing of the packet
>>>           .0.. .... = Bit: Do not report
>>>       Chunk flags: 0x00
>>>       Chunk length: 48
>>>       Serial number: 0xfa0b220b
>>>       Error cause indication parameter
>>>           Parameter type: Error cause indication (0xc003)
>>>               1... .... .... .... = Bit: Skip parameter and continue processing of the chunk
>>>               .1.. .... .... .... = Bit: Do report
>>>           Parameter length: 40
>>>           Correlation_id: 0x00000000
>>>           Unresolvable address cause (Address: )
>>>               Cause code: Unresolvable address (0x0005)
>>>               Cause length: 32
>>>               Delete IP address parameter (Address: 3ffe:501:ffff:101:5054:ff:fe70:993d, correlation ID: 0)
>>>                   Parameter type: Delete IP address (0xc002)
>>>                       1... .... .... .... = Bit: Skip parameter and continue processing of the chunk
>>>                       .1.. .... .... .... = Bit: Do report
>>>                   Parameter length: 28
>>>                   Correlation_id: 0x00000000
>>>                   IPv6 address parameter (Address: 3ffe:501:ffff:101:5054:ff:fe70:993d)
>>>                       Parameter type: IPv6 address (0x0006)
>>>                           0... .... .... .... = Bit: Stop processing of chunk
>>>                           .0.. .... .... .... = Bit: Do not report
>>>                       Parameter length: 20
>>>                       IP Version 6 address: 3ffe:501:ffff:101:5054:ff:fe70:993d (3ffe:501:ffff:101:5054:ff:fe70:993d)
>>> Frame 5 (118 bytes on wire, 118 bytes captured)
>>>   Arrival Time: Apr 27, 2011 17:17:59.573941000
>>>   [Time delta from previous captured frame: 0.000956000 seconds]
>>>   [Time delta from previous displayed frame: 0.000956000 seconds]
>>>   [Time since reference or first frame: 13.805149000 seconds]
>>>   Frame Number: 5
>>>   Frame Length: 118 bytes
>>>   Capture Length: 118 bytes
>>>   [Frame is marked: False]
>>>   [Protocols in frame: eth:ip:sctp]
>>> Ethernet II, Src: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c), Dst: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>   Destination: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       Address: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Source: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       Address: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Type: IP (0x0800)
>>> Internet Protocol, Src: 192.168.0.21 (192.168.0.21), Dst: 192.168.0.19 (192.168.0.19)
>>>   Version: 4
>>>   Header length: 20 bytes
>>>   Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02)
>>>       0000 00.. = Differentiated Services Codepoint: Default (0x00)
>>>       .... ..1. = ECN-Capable Transport (ECT): 1
>>>       .... ...0 = ECN-CE: 0
>>>   Total Length: 104
>>>   Identification: 0x001f (31)
>>>   Flags: 0x02 (Don't Fragment)
>>>       0.. = Reserved bit: Not Set
>>>       .1. = Don't fragment: Set
>>>       ..0 = More fragments: Not Set
>>>   Fragment offset: 0
>>>   Time to live: 64
>>>   Protocol: SCTP (0x84)
>>>   Header checksum: 0xb878 [correct]
>>>       [Good: True]
>>>       [Bad : False]
>>>   Source: 192.168.0.21 (192.168.0.21)
>>>   Destination: 192.168.0.19 (192.168.0.19)
>>> Stream Control Transmission Protocol, Src Port: 9000 (9000), Dst Port: 9000 (9000)
>>>   Source port: 9000
>>>   Destination port: 9000
>>>   Verification tag: 0x2b1e0377
>>>   Checksum: 0x91cfddc0 (not verified)
>>>   AUTH chunk
>>>       Chunk type: AUTH (15)
>>>           0... .... = Bit: Stop processing of the packet
>>>           .0.. .... = Bit: Do not report
>>>       Chunk flags: 0x00
>>>       Chunk length: 28
>>>       Shared key identifier: 0
>>>       HMAC identifier: SHA-1 (1)
>>>       HMAC: 2293892E2642A2D0E8911A669761E86134A47BD0
>>>   ASCONF chunk
>>>       Chunk type: ASCONF (193)
>>>           1... .... = Bit: Skip chunk and continue processing of the packet
>>>           .1.. .... = Bit: Do report
>>>       Chunk flags: 0x00
>>>       Chunk length: 44
>>>       Serial number: 0xfa0b220c
>>>       IPv6 address parameter (Address: 3ffe:501:ffff:101:5054:ff:fe70:993d)
>>>           Parameter type: IPv6 address (0x0006)
>>>               0... .... .... .... = Bit: Stop processing of chunk
>>>               .0.. .... .... .... = Bit: Do not report
>>>           Parameter length: 20
>>>           IP Version 6 address: 3ffe:501:ffff:101:5054:ff:fe70:993d (3ffe:501:ffff:101:5054:ff:fe70:993d)
>>>       Delete IP address parameter (Address: 192.168.1.21, correlation ID: 0)
>>>           Parameter type: Delete IP address (0xc002)
>>>               1... .... .... .... = Bit: Skip parameter and continue processing of the chunk
>>>               .1.. .... .... .... = Bit: Do report
>>>           Parameter length: 16
>>>           Correlation_id: 0x00000000
>>>           IPv4 address parameter (Address: 192.168.1.21)
>>>               Parameter type: IPv4 address (0x0005)
>>>                   0... .... .... .... = Bit: Stop processing of chunk
>>>                   .0.. .... .... .... = Bit: Do not report
>>>               Parameter length: 8
>>>               IP Version 4 address: 192.168.1.21 (192.168.1.21)
>>> 
>>> No.     Time        Source                Destination           Protocol Info
>>>     6 13.805190   192.168.0.19          192.168.0.21          SCTP     AUTH ASCONF_ACK 
>>> 
>>> Frame 6 (82 bytes on wire, 82 bytes captured)
>>>   Arrival Time: Apr 27, 2011 17:17:59.573982000
>>>   [Time delta from previous captured frame: 0.000041000 seconds]
>>>   [Time delta from previous displayed frame: 0.000041000 seconds]
>>>   [Time since reference or first frame: 13.805190000 seconds]
>>>   Frame Number: 6
>>>   Frame Length: 82 bytes
>>>   Capture Length: 82 bytes
>>>   [Frame is marked: False]
>>>   [Protocols in frame: eth:ip:sctp]
>>> Ethernet II, Src: RealtekU_21:3c:7c (52:54:00:21:3c:7c), Dst: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>   Destination: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       Address: RealtekU_1a:f0:5c (52:54:00:1a:f0:5c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Source: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       Address: RealtekU_21:3c:7c (52:54:00:21:3c:7c)
>>>       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>>>       .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>>>   Type: IP (0x0800)
>>> Internet Protocol, Src: 192.168.0.19 (192.168.0.19), Dst: 192.168.0.21 (192.168.0.21)
>>>   Version: 4
>>>   Header length: 20 bytes
>>>   Differentiated Services Field: 0x02 (DSCP 0x00: Default; ECN: 0x02)
>>>       0000 00.. = Differentiated Services Codepoint: Default (0x00)
>>>       .... ..1. = ECN-Capable Transport (ECT): 1
>>>       .... ...0 = ECN-CE: 0
>>>   Total Length: 68
>>>   Identification: 0x0000 (0)
>>>   Flags: 0x02 (Don't Fragment)
>>>       0.. = Reserved bit: Not Set
>>>       .1. = Don't fragment: Set
>>>       ..0 = More fragments: Not Set
>>>   Fragment offset: 0
>>>   Time to live: 64
>>>   Protocol: SCTP (0x84)
>>>   Header checksum: 0xb8bb [correct]
>>>       [Good: True]
>>>       [Bad : False]
>>>   Source: 192.168.0.19 (192.168.0.19)
>>>   Destination: 192.168.0.21 (192.168.0.21)
>>> Stream Control Transmission Protocol, Src Port: 9000 (9000), Dst Port: 9000 (9000)
>>>   Source port: 9000
>>>   Destination port: 9000
>>>   Verification tag: 0x1b2d2288
>>>   Checksum: 0x0962e46c (not verified)
>>>   AUTH chunk
>>>       Chunk type: AUTH (15)
>>>           0... .... = Bit: Stop processing of the packet
>>>           .0.. .... = Bit: Do not report
>>>       Chunk flags: 0x00
>>>       Chunk length: 28
>>>       Shared key identifier: 0
>>>       HMAC identifier: SHA-1 (1)
>>>       HMAC: DBE65D3AB3FB77D29FE2870BBB9ECCE4DC6D5EB6
>>>   ASCONF_ACK chunk
>>>       Chunk type: ASCONF_ACK (128)
>>>           1... .... = Bit: Skip chunk and continue processing of the packet
>>>           .0.. .... = Bit: Do not report
>>>       Chunk flags: 0x00
>>>       Chunk length: 8
>>>       Serial number: 0xfa0b220c
>>> 
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>>> the body of a message to majordomo@...r.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@...r.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ