Adam Sweeney, VP of EOS Engineering @ Arista Networks posed me a challenging question after my I-so-hate-PBR-CLI rant: “Is there something in particular that makes the IOS PBR CLI so painful? Is there a PBR CLI provided by any of the other systems out there that you like a lot better?”
My Twitter friends helped me find the answer to the second question: PBR in Junos is even more convoluted than it is in Cisco IOS... but what would be a better CLI?
Here’s my attempt at answering the question:
I understand one needs a route map (or something similar) to configure PBR. The major grudge I have with route maps is that they were designed for something completely different (after all, they’re called route maps for a reason) and then someone hammered a square peg into a round hole.
The other pretty obvious alternative (from Cisco IOS CLI perspective) would be the MQC, but that one is even more verbose than the route maps.
My biggest peeve is (probably) the need to create a separate ACL for every line in route-map (or a separate class-map for each class in a policy-map). It would be nice to have both existing syntax (for ACL reusability) and in-line options (for ease-of-understanding and brevity): refer to an ACL or have an ACL-like syntax within a route map, or refer to a class-map or have an inline class definition in a policy map.
Do you have a better answer? What would you like to see in a PBR CLI? Here’s your chance to nudge Adam and his team in the right direction.