I'm really interested in getting started with embedded software development. Since I already understand OS internals and computer architecture, I'm thinking of starting with .NET MicroFramework (mf) vs arduino (C based). What I'm really interested in doing is creating a home firewall/router. So far I've figured out that I need a multi-port switch controller with MAC/PHY built-in along with ethernet magjacks. The final part is hooking the controller up with a processor (arm cortex maybe) running .net mf. What I'm Not sure about is how the router will handle layer-3 routing? is it all done by the processor? or are there microcontrollers available that have layer-3/layer-2 support built into them already? If its the later, then I should easily be able to put a system together using .NET MF and the router's performance shouldn't be affected as all the grunt work is being done by the microcontroller?
My experience with network processors is that you will find cores that have functionality well suited for routers but they cannot do everything without help from processor/software intervention. The best I've seen is that you can set up the streams and allow the streams to be routed autonomously but the initial setup of the stream all has to be processed in a traditional way. This is most likely due to the large number of variables about the routing/firewall configuration that just isn't feasible in an ASIC. The processor will have to look at the packet and check against any firewall rules, apply any NAT or port translations and then inform the network processing to allow the stream and what modifications to make to the packet. Once these rules are in place, a well designed network processor can manage to do near wirespeed Ethernet with no processor intervention. I know Infineon and Marvell both had asics that would do this level of work but I haven't looked at either portfolio in quite some time. I doubt you will find these features in any bare minimum hobbyist type micro though.
Edit: I managed to find an example of the kind of processor I envision you hoping to get a hold of. Here's an example of a Marvel that does both GP processing as well as has hardened support for IPV6. Marvell Avanta