2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
capabilities (that were used only in bgpd/bgp_route.c and are now
removed). Also remove some other fields that were not being
used at all.
* vty.c: (vty_execute) Do not test for obsolete status values VTY_START
and VTY_CONTINUE.
(vty_read) Remove calls to vty->output_func since that was part
of the VTY_CONTINUE infrastructure that has been removed.
(vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
(vty_close) Remove code to cancel vty->t_output thread, since that
thread was never actually used.
* bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
is deprecated because the output did not represent a single point
in time. All output needs to be generated inline and buffered
by the library code.
(route_vty_out,route_vty_out_tag,damp_route_vty_out,
flap_route_vty_out) Remove code to count number of lines of output,
since this was only useful for VTY_CONTINUE behavior.
(bgp_show_callback) Removed.
(bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
As a result, there's a new output_arg argument to this function.
Make function static.
(bgp_show) Make function static and add a new output_arg argument.
Change all functions that call bgp_show or bgp_show_table to
pass the new output_arg argument (that used to be passed inside
vty->output_arg).
* bgp_mplsvpn.c: Remove declarations of functions defined in
bgp_route.c; these declarations belong in bgp_route.h.
* bgp_route.h: Declare 3 global functions used in both bgp_route.c
and in bgp_mplsvpn.c.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 75ff444..7fd36d2 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,19 @@
2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+ * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
+ capabilities (that were used only in bgpd/bgp_route.c and are now
+ removed). Also remove some other fields that were not being
+ used at all.
+ * vty.c: (vty_execute) Do not test for obsolete status values VTY_START
+ and VTY_CONTINUE.
+ (vty_read) Remove calls to vty->output_func since that was part
+ of the VTY_CONTINUE infrastructure that has been removed.
+ (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
+ (vty_close) Remove code to cancel vty->t_output thread, since that
+ thread was never actually used.
+
+2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
* vty.c: Vtysh connections to daemons should use buffering.
(vty_out) Remove exception for vty_shell_serv, just use buffer_write.
(vty_new) Increase output buffer size to 4096 rounded up to a
diff --git a/lib/vty.c b/lib/vty.c
index e6bcb61..1ef552f 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1206,9 +1206,7 @@
vty->cp = vty->length = 0;
vty_clear_buf (vty);
- if (vty->status != VTY_CLOSE
- && vty->status != VTY_START
- && vty->status != VTY_CONTINUE)
+ if (vty->status != VTY_CLOSE )
vty_prompt (vty);
return ret;
@@ -1310,8 +1308,6 @@
case CONTROL('C'):
case 'q':
case 'Q':
- if (vty->output_func)
- (*vty->output_func) (vty, 1);
vty_buffer_reset (vty);
break;
#if 0 /* More line does not work for "show ip bgp". */
@@ -1321,8 +1317,6 @@
break;
#endif
default:
- if (vty->output_func)
- (*vty->output_func) (vty, 0);
break;
}
continue;
@@ -1472,55 +1466,6 @@
}
/* Function execution continue. */
- if (vty->status == VTY_START || vty->status == VTY_CONTINUE)
- {
- if (vty->status == VTY_CONTINUE)
- erase = 1;
- else
- erase = 0;
-
- if (vty->output_func == NULL)
- dont_more = 1;
- else
- dont_more = 0;
-
- if (vty->lines == 0)
- {
- erase = 0;
- dont_more = 1;
- }
-
- buffer_flush_vty_all (vty->obuf, vty->fd, erase, dont_more);
-
- if (vty->status == VTY_CLOSE)
- {
- vty_close (vty);
- return 0;
- }
-
- if (vty->output_func == NULL)
- {
- vty->status = VTY_NORMAL;
- vty_prompt (vty);
- vty_event (VTY_WRITE, vty_sock, vty);
- }
- else
- vty->status = VTY_MORE;
-
- if (vty->lines == 0)
- {
- if (vty->output_func == NULL)
- vty_event (VTY_READ, vty_sock, vty);
- else
- {
- if (vty->output_func)
- (*vty->output_func) (vty, 0);
- vty_event (VTY_WRITE, vty_sock, vty);
- }
- }
- }
- else
- {
if (vty->status == VTY_MORE || vty->status == VTY_MORELINE)
erase = 1;
else
@@ -1554,7 +1499,6 @@
if (vty->lines == 0)
vty_event (VTY_WRITE, vty_sock, vty);
}
- }
return 0;
}
@@ -2075,8 +2019,6 @@
thread_cancel (vty->t_write);
if (vty->t_timeout)
thread_cancel (vty->t_timeout);
- if (vty->t_output)
- thread_cancel (vty->t_output);
/* Flush buffer. */
if (! buffer_empty (vty->obuf))
diff --git a/lib/vty.h b/lib/vty.h
index c5c8c3b..c3221e2 100644
--- a/lib/vty.h
+++ b/lib/vty.h
@@ -41,9 +41,6 @@
/* What address is this vty comming from. */
char *address;
- /* Privilege level of this vty. */
- int privilege;
-
/* Failure count */
int fail;
@@ -82,8 +79,7 @@
unsigned char escape;
/* Current vty status. */
- enum {VTY_NORMAL, VTY_CLOSE, VTY_MORE, VTY_MORELINE,
- VTY_START, VTY_CONTINUE} status;
+ enum {VTY_NORMAL, VTY_CLOSE, VTY_MORE, VTY_MORELINE} status;
/* IAC handling */
unsigned char iac;
@@ -96,14 +92,9 @@
int width;
int height;
- int scroll_one;
-
/* Configure lines. */
int lines;
- /* Current executing function pointer. */
- int (*func) (struct vty *, void *arg);
-
/* Terminal monitor. */
int monitor;
@@ -117,17 +108,6 @@
/* Timeout seconds and thread. */
unsigned long v_timeout;
struct thread *t_timeout;
-
- /* Thread output function. */
- struct thread *t_output;
-
- /* Output data pointer. */
- int (*output_func) (struct vty *, int);
- void (*output_clean) (struct vty *);
- void *output_rn;
- unsigned long output_count;
- int output_type;
- void *output_arg;
};
/* Integrated configuration file. */