[erlang-bugs] [BUG] SCTP_ADDR_CONFIRMED event not handled
Raimo Niskanen
raimo+erlang-bugs@REDACTED
Fri Apr 11 16:12:16 CEST 2008
On Fri, Apr 11, 2008 at 12:17:10PM +0200, Balint Reczey wrote:
> Hi,
>
> A new SCTP_PEER_ADDR_CHANGE event named SCTP_ADDR_CONFIRMED was
> introduced in draft-ietf-tsvwg-sctpsocket-13.txt.
>
> It is implemented in the Linux kernel in post-2.6.21 versions
> (commit 1ae4114dce35dd1d32ed847f60b599dbbdfd5829).
>
> The attached patch maps the new event to the Erlang SCTP API.
>
Thank you for your patch. It looks fine. I will take it into
our development branch as soon as possible. Unfortunately
we do not have a that late Linux kernel in our daily build
machine park (yet), nor any real SCTP load tests.
> Regards,
> Balint
> diff -Naur otp_src_R12B-1/bootstrap/lib/kernel/include/inet_sctp.hrl otp_src_R12B-1-mod/bootstrap/lib/kernel/include/inet_sctp.hrl
> --- otp_src_R12B-1/bootstrap/lib/kernel/include/inet_sctp.hrl 2008-02-06 22:16:52.000000000 +0100
> +++ otp_src_R12B-1-mod/bootstrap/lib/kernel/include/inet_sctp.hrl 2008-04-10 18:32:18.000000000 +0200
> @@ -73,7 +73,7 @@
> %% sctp_paddr_change: Peer address is a list. Possible "state" values:
> %% addr_available, addr_unreachable,
> %% addr_removed, addr_added,
> -%% addr_made_prim
> +%% addr_made_prim, addr_confirmed
> -record(sctp_paddr_change,
> {
> addr = [0,0,0,0],
> diff -Naur otp_src_R12B-1/erts/emulator/drivers/common/inet_drv.c otp_src_R12B-1-mod/erts/emulator/drivers/common/inet_drv.c
> --- otp_src_R12B-1/erts/emulator/drivers/common/inet_drv.c 2008-04-10 18:52:00.000000000 +0200
> +++ otp_src_R12B-1-mod/erts/emulator/drivers/common/inet_drv.c 2008-04-10 18:46:45.000000000 +0200
> @@ -2752,7 +2752,7 @@
> /* For #sctp_paddr_change{}: */
> am_addr_available, am_addr_unreachable,
> am_addr_removed, am_addr_added,
> - am_addr_made_prim,
> + am_addr_made_prim, am_addr_confirmed,
>
> /* For #sctp_remote_error{}: */
> am_short_recv, am_wrong_anc_data,
> @@ -3007,6 +3007,9 @@
> case SCTP_ADDR_MADE_PRIM:
> i = LOAD_ATOM (spec, i, am_addr_made_prim);
> break;
> + case SCTP_ADDR_CONFIRMED:
> + i = LOAD_ATOM (spec, i, am_addr_confirmed);
> + break;
> default:
> ASSERT(0);
> }
> @@ -3840,6 +3843,7 @@
> INIT_ATOM(addr_removed);
> INIT_ATOM(addr_added);
> INIT_ATOM(addr_made_prim);
> + INIT_ATOM(addr_confirmed);
>
> INIT_ATOM(short_recv);
> INIT_ATOM(wrong_anc_data);
> diff -Naur otp_src_R12B-1/lib/kernel/include/inet_sctp.hrl otp_src_R12B-1-mod/lib/kernel/include/inet_sctp.hrl
> --- otp_src_R12B-1/lib/kernel/include/inet_sctp.hrl 2008-02-05 14:38:24.000000000 +0100
> +++ otp_src_R12B-1-mod/lib/kernel/include/inet_sctp.hrl 2008-04-10 18:41:16.000000000 +0200
> @@ -73,7 +73,7 @@
> %% sctp_paddr_change: Peer address is a list. Possible "state" values:
> %% addr_available, addr_unreachable,
> %% addr_removed, addr_added,
> -%% addr_made_prim
> +%% addr_made_prim, addr_confirmed
> -record(sctp_paddr_change,
> {
> addr = [0,0,0,0],
> _______________________________________________
> erlang-bugs mailing list
> erlang-bugs@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-bugs
--
/ Raimo Niskanen, Erlang/OTP, Ericsson AB
More information about the erlang-bugs
mailing list