diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2021-10-04 20:32:25 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2021-10-06 12:21:56 -0400 | 
| commit | a91f5417d8e7188b61ddecd4224fbba0f0c61e78 (patch) | |
| tree | 248af92ad1f970a8d7febdc5b5081fe39f4dfa9c /watchfrr/watchfrr_vty.c | |
| parent | 11ed589224c8086903dcc1dbd28de4b98dcb7516 (diff) | |
watchfrr: Allow an integrated config to work within a namespace
Since watchfrr invokes vtysh to gather the show run output and
write the data, if we are operating inside of a namespace FRR
must also pass this in.
Yes. This seems hacky.  I don't fully understand why vtysh
is invoked this way.
New output:
sharpd@eva:~/frr3$ sudo vtysh -N one
Hello, this is FRRouting (version 8.1-dev).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
eva# wr mem
Note: this version of vtysh never writes vtysh.conf
% Can't open configuration file /etc/frr/one/vtysh.conf due to 'No such file or directory'.
Building Configuration...
Integrated configuration saved to /etc/frr/one/frr.conf
[OK]
eva#
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'watchfrr/watchfrr_vty.c')
| -rw-r--r-- | watchfrr/watchfrr_vty.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/watchfrr/watchfrr_vty.c b/watchfrr/watchfrr_vty.c index eda4f5d516..1492ee37b6 100644 --- a/watchfrr/watchfrr_vty.c +++ b/watchfrr/watchfrr_vty.c @@ -105,7 +105,10 @@ DEFUN(config_write_integrated,  	/* don't allow the user to pass parameters, we're root here!  	 * should probably harden vtysh at some point too... */ -	execl(VTYSH_BIN_PATH, "vtysh", "-w", NULL); +	if (pathspace) +		execl(VTYSH_BIN_PATH, "vtysh", "-N", pathspace, "-w", NULL); +	else +		execl(VTYSH_BIN_PATH, "vtysh", "-w", NULL);  	/* unbuffered write; we just messed with stdout... */  	char msg[512];  | 
