Fix vtysh based "write term" output.

* vtysh/vtysh.c: "end" should be printed at the bottom, not the top.
* vtysh/vtysh_config.c: PROTOCOL_NODE was not being handled, and thus was
  being displayed at the top of a config, rather than in its rightful
  place near the bottom.

Signed-off-by: Chris Caputo <ccaputo@alt.net>
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index bff0632..3f189ad 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -1722,8 +1722,6 @@
 
   vtysh_config_dump (fp);
 
-  vty_out (vty, "end%s", VTY_NEWLINE);
-  
   if (vtysh_pager_name && fp)
     {
       fflush (fp);
@@ -1735,6 +1733,8 @@
       fp = NULL;
     }
 
+  vty_out (vty, "end%s", VTY_NEWLINE);
+  
   return CMD_SUCCESS;
 }
 
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 70c3746..fb8a126 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -244,6 +244,8 @@
 	       || strncmp (line, "enable password",
 			   strlen ("enable password")) == 0)
 	config = config_get (AAA_NODE, line);
+      else if (strncmp (line, "ip protocol", strlen ("ip protocol")) == 0)
+	config = config_get (PROTOCOL_NODE, line);
       else
 	{
 	  if (strncmp (line, "log", strlen ("log")) == 0