chaos4ever / chaos

The chaos Operating System
https://chaos4ever.github.io/
16 stars 7 forks source link

Fix TCP support #89

Open perlun opened 7 years ago

perlun commented 7 years ago

Subject says it all. The ipv4 server should be able to receive and send TCP packets.

This is a bit hard, since the TCP protocol is fairly complex, but we should at least be able to handle non-fragmented packages at first.

We did some initial experimentation around this in 2000 or 2001, but the problem back then was that the TCP packages we sent from chaos was never properly ACK:ed by the other machine. So the reason for this could be something like: bad checksum, problems with the packet structure, etc. It looked correct when we inspected the package with tcpdump and similar, but it still didn't work.

This bug has been bothering me for years and hopefully, we could sort it out eventually. 😄

doverhill commented 7 years ago

Kommer ihåg att ett problem vi hade var att med 3c509 så var man manuellt tvungen att lägga en Ethernet checksum crc32 i slutet av ethernetframen. :)

Det löste problem med att ingen ville ta emot våra paket. Andra nätverkskort la automatiskt på checksum...


Henrik Doverhill Ägare och produktchef, Caspeco AB


From: Per Lundberg notifications@github.com Sent: Wednesday, March 22, 2017 5:54:46 AM To: chaos4ever/chaos Cc: Subscribed Subject: [chaos4ever/chaos] Fix TCP support (#89)

Subject says it all. The ipv4 server should be able to receive and send TCP packets.

This is a bit hard, since the TCP protocol is fairly complex, but we should at least be able to handle non-fragmented packages at first.

We did some initial experimentation around this in 2000 or 2001, but the problem back then was that the TCP packages we sent from chaos was never properly ACK:ed by the other machine. So the reason for this could be something like: bad checksum, problems with the packet structure, etc. It looked correct when we inspected the package with tcpdump and similar, but it still didn't work.

This bug has been bothering me for years and hopefully, we could sort it out eventually. 😄

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/chaos4ever/chaos/issues/89, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABYvu41nA5S-lXtyDgFJ7-AiCKsnwJalks5roKmWgaJpZM4MkueB.

perlun commented 7 years ago

Det löste problem med att ingen ville ta emot våra paket. Andra nätverkskort la automatiskt på checksum...

😄 I didn't remember that part, no. But like you say, it solved the problem with the ethernet checksum. I think there is also a TCP checksum, that we supposedly (?) give the right value, it doesn't show anything weird in tcpdump at least. But it still doesn't work. 😭

Will have to dig into this, any decade now. 😉

perlun commented 7 years ago

Btw, I think it's actually not a CRC32 but a CRC16 in fact. 😆