I sent an Ethernet packet

Hardware-level Ethernet and Bit-Banging

  • Several commenters discuss the dream of “bit-banging real protocols” at very high speeds, pointing to practical limits once signals reach tens or hundreds of MHz.
  • FPGAs are repeatedly cited as the realistic answer for flexible high-speed I/O; above ~1 GHz, transceivers become expensive and complex.
  • RP2040/RP2350 PIO is highlighted as powerful for high-speed output (100–300 MHz), but commenters note serious limitations for reliable high-speed input due to lack of clock recovery and instruction-cycle constraints.
  • Examples include attempts to bit-bang Ethernet, FM radio sampling, and ad‑hoc video output (VGA/DVI/HDMI) on microcontrollers.

Frames vs Packets vs Datagrams

  • A long subthread debates terminology: Ethernet frames, IP datagrams, TCP segments, and generic “packets.”
  • Some argue for strict correctness; others note that in common practice “packet” is used loosely for “whatever is on the wire,” especially since typical deployments map 1 Ethernet frame ≈ 1 IP datagram.
  • The tone ranges from pedantic to playful, with some meta-discussion about whether such nitpicking is useful or off‑putting.

Microcontrollers, Ethernet Chips, and Alternatives

  • Many suggest MCUs with built‑in Ethernet MACs (e.g., STM32F4, ESP32 variants) instead of external ASICs like W5100/W5500, generally for performance and simplicity.
  • Others defend external chips as great for hobby projects and for learning, even if not “state of the art.”
  • Some report reliability issues with W5100-based Arduino setups; others share success with ESP32-based Ethernet modules (e.g., WT32-ETH01).

Learning Networking “From Scratch”

  • Multiple commenters share experiences implementing Ethernet/TCP/IP in FPGAs, 8-bit MCUs, or Linux using raw packet sockets, AF_PACKET, AF_XDP, or tun/tap interfaces.
  • Recommended learning tools include Wireshark, classic RFCs (e.g., router requirements), and hands-on experiments like custom routers or bare-bones echo servers.
  • There’s debate over whether low-speed or hobbyist projects meaningfully prepare one for 10 Gbit/“hard mode” designs; some say fundamentals transfer, others say high-performance work is a different discipline.

Tool-Building, 10x Developers, and Process Tension

  • A large subthread centers on the value of building custom tools and exploratory projects (like a hand-rolled stack) versus sticking strictly to tickets and existing libraries.
  • Many see tool-building as a core “superpower” that pays off in debugging and productivity; others argue employers rarely want to fund it directly.
  • There’s disagreement over “10x developer” narratives, burnout, and whether exploration should be explicitly sanctioned or quietly done in the margins.