I want to implement an application that utilises only the Ethernet layer of the OSI model (Levels 1 & 2). But since the W5500 has the TCP/IP stack already hardwired in, I want to know if the TCP/IP stack is bypassed whenever the socket is put in MAC RAW mode, i.e. does it directly write from the Ethernet layer to the register, or does it still pass through the entire TCP/IP stack and then only gets put pack together in some way to mimic the Ethernet layer?
Also if anyone has tested speed differences between TCP/UDP and the MAC Raw mode and wants to share their results, that would be great.
Any help will be highly appreciated.
The chips are designed especially for hardware acceleration of the sockets. MACRAW mode, IMHO, exist if you want to perform something very advanced sockets can not do. Under normal architecture you use sockets in UDP or TCP mode.
Using chip in MACRAW mode will shift burden of the L3/L4 onto the driving device → it will have to read overhead and process it. It is by design slower, and how much slower depends on the SPI speed, driving device speed and algorithm/software used. Another issue here: you must remove received packets from chip’s RX buffer as quick as possible because if buffer overflows, further packets will be lost (discarded).
Thank you for your insight and answer - it is highly appreciated.