Help - Search - Members - Calendar
Full Version: [wip][30 Days=success/failure] Porting Either Lwip/wattcp 16
Scenyx Entertainment Community > Xbox1 Forums > Software Forums > Development
Mi©®os∞ft
Just started a serious approach that I am going to create a simple PC(server app) <-> Xbox1(listener) TCP sockets based; in 30 days. cool.gif

Will report progress as I achieve something noteworthy. tongue.gif
ressurectionx
Hey man. I'm a dummy and I don't even know what that is or what it does, but it's great to see other coders out there. Good luck on your project.

~Rx
Mi©®os∞ft
Just wondering:

Can TCP work without ICMP and ARP? huh.gif

I am not very deep into how protocols work.
openxdkman
physically machines only know each other thanks to their mac adresses
they also know their ip address by that's software

arp protocol is the way machines ask other machines "I'm looking for ip address n.n.n.n, are you there?"
The reply is "yes I'm here. Btw this is my mac adress, remember it"

Then machines store the couples (mac adress<->ip addresses),
because without mac adress packets aren't reaching their target
packets received are filtered at hardware level thanks to mac address
packets received are filtered at software level thanks to ip address

icmp (if I remember well) is protocol that assumes couples ma/ip are set and used to transfert the real things, that is ip packets with data inside, eventually cut in several packets. I would say a normal ip packet is a subset of imcp packet, but I may be wrong. you have to read some rfc's to have a clear view of all this stuff. look for rfcNNNN.txt text files (norms, standards) in rfc repositories on internet (often barely a directory you can explore through ftp).

so yes, you need arp.
Mi©®os∞ft
Is this Fragmentation support really required? For now, Can I get that crap out of the source?
[would it cause a huge hit in performance?]

What about intel16 and intel stuff, is it required? big endian <-> little endian conversion... Is it required?

Thanks biggrin.gif
openxdkman
pc & xbox1 are intel based
that means your get least significant byte first in structure if you just declare the area in the structure as a long (or longword, or dword or u32 whatever). it's of course a possible source of mistake.
if rfc tells msb (most significan byte) first then that's mean you have to reverse bytes order.

but the worst trap is when compiler decides (without telling you) to add padding bytes in structure to align stuff...

with a packet analyser you can discover such horrible mess.

there are also compilations directive that prevent compiler to touch your structure definition.

I turned fragmentation off also with my first attempts. Then I put it back but never verified what it did.
Probably doesn't change a lots... but I may be wrong.


This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.