Thread Previous • Date Previous • Date Next • Thread Next |
Andrei,
Today I tried to test GSE but I got another type of errors. Testbed setup: Return - ATM/AAL, Forward - GSE GW FIFO size 2180 (see attached file TCP_CW_GSE_1_flow_GW_buff_2180) iperf with the option -M 1400 Log from ST:/Jul 26 13:15:17 router st: [encap] [Gse.cpp:deencapPacket():658] ERR: [Gse::Context::deencapPacket] GSE deencapsulation failed (Packet is too long for the deencapsulation buffer: PDU dropped), drop packet// //Jul 26 13:15:22 router st: [dvb_rcs_tal] [bloc_dvb_rcs_tal.cpp:connectToQoSServer():1138] [Tal][BlocDVBRcsTal::connectToQoSServer] service on TCP/12000 is not available/Log from GW :/Jul 26 13:17:37 router gw: [encap] [Atm.cpp:deencapAtm():384] ERR: [Atm::Context::deencapAtm] AAL5 packet is not valid, drop all of the ATM cells in the desencapsulation context// //Jul 26 13:17:37 router gw: [encap] [Atm.cpp:deencapsulate():164] ERR: [Atm::Context::deencapsulate] ATM desencapsulation failed, drop packet// //Jul 26 13:17:38 router gw: [dvb_rcs] [SatelliteTerminalList.cpp:setList():601] end of simulation file reached, restart at beginning.../The example of CW with GW FIFO size 2500 is in the file TCP_CW_GSE_1_flow_GW_buff_2500 When I used iperf without option "-M" (file TCP_CW_GSE_1_flow_GW_def_MSS) I got another errors:/Jul 26 13:51:06 router st: [encap] [Gse.cpp:deencapPacket():658] ERR: [Gse::Context::deencapPacket] GSE deencapsulation failed (CRC32 computed does not match the received one: PDU dropped), drop packet// //Jul 26 13:51:06 router st: [dvb_rcs_tal] [bloc_dvb_rcs_tal.cpp:connectToQoSServer():1138] [Tal][BlocDVBRcsTal::connectToQoSServer] service on TCP/12000 is not available/Is there any way to avoid encapsulation errors? May be you can recommend iperf (or another traffic generator) parameters, OpenSand parameters which were proved to be stable during your experiments (packet size, ST/GW buffers, encapsulation types)?
I think the deencapsulation errors are due to loss of GSE fragments in the GW fifo when it is full. Don't you have "FIFO is full: drop packet" messages ? There is several ways to detect these errors in the GSE library this is why you can get different logging messages.
When using iperf you cannot avoid these errors with small fifos because iperf will send as much as possible until TCP receives NACK. If you increase the FIFO size, the TCP window may expire before the FIFO is full, you won't have loss but TCP will retransmit packets that may be still waiting in the FIFO.
I don't have good iperf parameters because I never did advanced TCP tests but maybe other contributors can help you on this. I recommend you open a new subject if you want to increase your chances to get an answer. However, I think the parameters may considerably depend on your traffic profile.
Regarding your last question about small ST buffer. When I set up ST buffer equal to 10 I saw the following errors:/Jul 26 14:12:37 router st: [dvb_rcs] [PhysicStd.cpp:onRcvEncapPacket():84] ERR: FIFO is full: drop packet// //Jul 26 14:12:37 router st: [dvb_rcs_tal] [bloc_dvb_rcs_tal.cpp:onEvent():333] ERR: SF#645: frame 2: unable to store received encapsulation packet (see previous errors)// //Jul 26 14:12:38 router st: [dvb_rcs_tal] [bloc_dvb_rcs_tal.cpp:connectToQoSServer():1138] [Tal][BlocDVBRcsTal::connectToQoSServer] service on TCP/12000 is not available/
According to the log, the FIFO should not be to small to allow the TCP connection.
What is the preferable way to upgrade OpenSand from version 1.0 to 2.0? I'll need to uninstall all packages of version 1.0 and then install the new ones?
Yes, removing (and purging) the whole packets is preferable because some things have changed. You can easily purge every opensand packet with "apt-get purge libopensand-* opensand-*" For the installation of the 2.0.0 version, you can use the repository as explained in the installation manual [1]. As we made many modifications for the 2.0.0 version, could you please report any difference that could be abnormal or even improvements ?
[1] - http://opensand.org/support/wiki/doku.php?id=installation_manual#installation_from_packages
Regards, -- Julien BERNARD
Thread Previous • Date Previous • Date Next • Thread Next |