Messages in this thread | | | Date | Wed, 25 Jul 2012 17:22:19 +0800 | Subject | Re: [PATCH] sctp: Make "Invalid Stream Identifier" ERROR follows SACK when bundling | From | Xufeng Zhang <> |
| |
On 7/25/12, Xufeng Zhang <xufengzhang.main@gmail.com> wrote: > On 7/25/12, Vlad Yasevich <vyasevich@gmail.com> wrote: >> >> Actually not true. AUTH can be before SACK. So can any addip chunks >> that >> aid in locating an association. >> >> Now AUTH isn't a big issue since its autogenerated to the packet but >> ADDIP >> is since it could be queued up for retransmission. >> >> There could be other extensions as well. It really needs to be done >> either >> through side effects or making error chunks go at the end of other >> control >> chunks. Need to audit the spec to see if that's ok. > You are right, I just found SHUTDOWN chunks are also before SACK based on > your commit "[SCTP]: Fix SACK sequence during shutdown". > Maybe the only solution is to do some work on side effects just as you > said. > Thanks for your explanation!
And after take a moment to look into the relative codes, I think we can implement it by below way: 1). Add a flag(isi_err_needed) in the embedded struct peer of struct struct sctp_association just like sack_needed flag. 2). When "invalid stream identifier" ERROR happens in sctp_eat_data() function, we just set isi_err_needed flag and don't create ERROR chunk and also don't insert SCTP_CMD_REPLY command. 3). In sctp_gen_sack() function, we create ERROR chunk and also insert SCTP_CMD_REPLY command if isi_err_needed flag is set.
Is this way proper?
Thanks, Xufeng Zhang > > > > Thanks, > Xufeng Zhang >> >> -vlad >>> >>>Thanks, >>>Xufeng Zhang >>>> >>>> -vlad >> >> >> -- >> Sent from my Android phone with SkitMail. Please excuse my brevity. >> >
| |