On Thu, 4 Jun 2015, Nicolas Dichtel wrote:
+/* VRF node. */
+static struct cmd_node vrf_node =
+{
+ VRF_NODE,
+ "", /* VRF node has no interface. */
+ 1
+};
+
+/* VRF configuration write function. */
+static int
+vrf_config_write (struct vty *vty)
+{
+
+#ifdef HAVE_NETNS
+ /* Install VRF commands. */
+ install_node (&vrf_node, vrf_config_write);
+ install_element (CONFIG_NODE, &vrf_netns_cmd);
+ install_element (CONFIG_NODE, &no_vrf_netns_cmd);
+#endif
You're creating a new VRF_NODE and installing it under CONFIG_NODE, but
not installing any commands to VRF_NODE - those are going into CONFIG_NODE
instead. So this is basically using it as a place to hook a vrf
config-write function into the CONFIG_NODE config-write function.
This kind of suggests the command node API would be better having a list
of config-write function pointers in the cmd_node? Rather than installing
dummy cmd_nodes with no commands (but commands added into the parent)?
(I'm little bit of command.c spring cleaning that made me notice this).
regards,
--
Paul Jakma [email protected] @pjakma Key ID: 64A2FF6A
Fortune:
Prizes are for children.
-- Charles Ives, upon being given, but refusing, the
Pulitzer prize
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev