[erlang-bugs] [BUG] SCTP_ADDR_CONFIRMED event not handled

Balint Reczey <>
Tue Apr 15 13:20:51 CEST 2008


Hi,

Sergei Golovan updated the patch, now it builds with older lksctp-tools
without SCTP_ADDR_CONFIRMED definition, too:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475540#10

Regards,
Balint



2008. 04. 11, péntek keltezéssel 16.12-kor Raimo Niskanen ezt írta:
> 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
> > 
> > http://www.erlang.org/mailman/listinfo/erlang-bugs
> 



More information about the erlang-bugs mailing list