On Thu, 16 Jul 2020 at 16:31, Tim Durack <[email protected]> wrote: > Not trying to be smart or pedantic: modern routers are built out of lots of > "ASICs". I imagine the forwarding element design is the differentiator:
I don't think there is other option here :) > 1. Fixed pipeline: EARL family > 2. Progammable pipeline: UADP family > 3. Run-to-completion: "Silicon One" family > > Not an exhaustive list, lots of other examples etc... I mean what is pipeline? Silicon One is pipeline. Ingress pipe is parser + npu (terminate) + npu (lookup), egress pipe is npu (rewrite). Nokia FP is pipeline, but like Silicon one, it's pipeline of identical NPUs, just lot more identical NPUs in pipeline compared to Silicon One. Trio OTOH hits only one core in LU, one given PPE handles everything for given packet. So not a pipeline. I like Trio approach more, as the more NPUs you have in the pipeline, the more difficult it looks to program it right. Because if your NPU1 is parser, and you have big buggy code and your parsing of IPv6 extension headers is pathologically slow, now you're HOLB the whole line, rest of the cores are doing nothing. In Trio they don't need to be so careful, as you can think of it as single fat core in stead of many slim cores in pipe, so you get to use whole cycle pool, and if not every packet is pathological, you get away with lot worse ucode design. -- ++ytti _______________________________________________ cisco-nsp mailing list [email protected] https://puck.nether.net/mailman/listinfo/cisco-nsp archive at http://puck.nether.net/pipermail/cisco-nsp/
