diff options
-rw-r--r-- | data/templates/frr/daemons.frr.tmpl | 8 | ||||
-rw-r--r-- | interface-definitions/system-frr.xml.in | 27 | ||||
-rw-r--r-- | python/vyos/util.py | 12 | ||||
-rwxr-xr-x | src/conf_mode/snmp.py | 8 | ||||
-rwxr-xr-x | src/conf_mode/system_frr.py | 2 |
5 files changed, 36 insertions, 21 deletions
diff --git a/data/templates/frr/daemons.frr.tmpl b/data/templates/frr/daemons.frr.tmpl index 089cdae3b..ab7b14d6b 100644 --- a/data/templates/frr/daemons.frr.tmpl +++ b/data/templates/frr/daemons.frr.tmpl @@ -34,9 +34,13 @@ ripd_options=" --daemon -A 127.0.0.1 {%- if snmp is defined and snmp.ripd is defined %} -M snmp{% endif -%} " ripngd_options=" --daemon -A ::1" -isisd_options=" --daemon -A 127.0.0.1" +isisd_options=" --daemon -A 127.0.0.1 +{%- if snmp is defined and snmp.isisd is defined %} -M snmp{% endif -%} +" pimd_options=" --daemon -A 127.0.0.1" -ldpd_options=" --daemon -A 127.0.0.1" +ldpd_options=" --daemon -A 127.0.0.1 +{%- if snmp is defined and snmp.ldpd is defined %} -M snmp{% endif -%} +" nhrpd_options=" --daemon -A 127.0.0.1" eigrpd_options=" --daemon -A 127.0.0.1" babeld_options=" --daemon -A 127.0.0.1" diff --git a/interface-definitions/system-frr.xml.in b/interface-definitions/system-frr.xml.in index e8b447f58..9fe23ed75 100644 --- a/interface-definitions/system-frr.xml.in +++ b/interface-definitions/system-frr.xml.in @@ -11,13 +11,13 @@ <children> <leafNode name="bmp"> <properties> - <help>>Enable BGP Monitoring Protocol support</help> + <help>Enable BGP Monitoring Protocol support</help> <valueless/> </properties> </leafNode> <leafNode name="irdp"> <properties> - <help>>Enable ICMP Router Discovery Protocol support</help> + <help>Enable ICMP Router Discovery Protocol support</help> <valueless/> </properties> </leafNode> @@ -28,31 +28,43 @@ <children> <leafNode name="bgpd"> <properties> - <help>>BGP</help> + <help>BGP</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="isisd"> + <properties> + <help>IS-IS</help> + <valueless/> + </properties> + </leafNode> + <leafNode name="ldpd"> + <properties> + <help>LDP</help> <valueless/> </properties> </leafNode> <leafNode name="ospf6d"> <properties> - <help>>OSPFv3</help> + <help>OSPFv3</help> <valueless/> </properties> </leafNode> <leafNode name="ospfd"> <properties> - <help>>OSPFv2</help> + <help>OSPFv2</help> <valueless/> </properties> </leafNode> <leafNode name="ripd"> <properties> - <help>>RIP</help> + <help>RIP</help> <valueless/> </properties> </leafNode> <leafNode name="zebra"> <properties> - <help>>Zebra (IP routing manager)</help> + <help>Zebra (IP routing manager)</help> <valueless/> </properties> </leafNode> @@ -63,4 +75,3 @@ </children> </node> </interfaceDefinition> - diff --git a/python/vyos/util.py b/python/vyos/util.py index ce5dc51f5..d8e83ab8d 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -182,20 +182,16 @@ def call(command, flag='', shell=None, input=None, timeout=None, env=None, return code -def read_file(fname, defaultonfailure=None, strip_end=True): +def read_file(fname, defaultonfailure=None): """ - read the content of a file, optionally stripping any end characters (space, newlines) + read the content of a file, stripping any end characters (space, newlines) should defaultonfailure be not None, it is returned on failure to read """ try: """ Read a file to string """ with open(fname, 'r') as f: - data = f.read() - - if strip_end: - return data.strip() - else: - return data + data = f.read().strip() + return data except Exception as e: if defaultonfailure is not None: return defaultonfailure diff --git a/src/conf_mode/snmp.py b/src/conf_mode/snmp.py index 25dcdf7c6..6c6367045 100755 --- a/src/conf_mode/snmp.py +++ b/src/conf_mode/snmp.py @@ -583,9 +583,13 @@ def apply(snmp): # Enable AgentX in FRR # This should be done for each daemon individually because common command # works only if all the daemons started with SNMP support - frr_daemons_list = ['bgpd', 'ospf6d', 'ospfd', 'ripd', 'zebra'] + frr_daemons_list = [ + 'bgpd', 'ospf6d', 'ospfd', 'ripd', 'ripngd', 'isisd', 'ldpd', 'zebra' + ] for frr_daemon in frr_daemons_list: - call(f'vtysh -c "configure terminal" -d {frr_daemon} -c "agentx" >/dev/null') + call( + f'vtysh -c "configure terminal" -d {frr_daemon} -c "agentx" >/dev/null' + ) return None diff --git a/src/conf_mode/system_frr.py b/src/conf_mode/system_frr.py index 0d0b37e00..1af0055f6 100755 --- a/src/conf_mode/system_frr.py +++ b/src/conf_mode/system_frr.py @@ -51,7 +51,7 @@ def verify(frr_config): def generate(frr_config): # read daemons config file - daemons_config_current = read_file(config_file, strip_end=False) + daemons_config_current = read_file(config_file) # generate new config file daemons_config_new = render_to_string('frr/daemons.frr.tmpl', frr_config) # update configuration file if this is necessary |