From 6c3d6f2152feaa22a91169db33a1b211553ff4d7 Mon Sep 17 00:00:00 2001 From: Fabian Franz BSc Date: Wed, 1 Jan 2020 15:48:52 +0100 Subject: [PATCH] Frr null routes (#1622) * net/frr: fix null route issue * net/frr: version bump * convert tab to spaces --- net/frr/Makefile | 2 +- net/frr/pkg-descr | 5 +++++ .../mvc/app/views/OPNsense/Quagga/diagnosticsgeneral.volt | 2 ++ net/frr/src/opnsense/scripts/quagga/quagga.rb | 6 +++--- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/net/frr/Makefile b/net/frr/Makefile index 782c045e7..3a47f7843 100644 --- a/net/frr/Makefile +++ b/net/frr/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= frr -PLUGIN_VERSION= 1.13 +PLUGIN_VERSION= 1.14 PLUGIN_COMMENT= The FRRouting Protocol Suite PLUGIN_DEPENDS= frr6 ruby PLUGIN_MAINTAINER= franz.fabian.94@gmail.com diff --git a/net/frr/pkg-descr b/net/frr/pkg-descr index 4491ec4e2..bc967f587 100644 --- a/net/frr/pkg-descr +++ b/net/frr/pkg-descr @@ -11,6 +11,11 @@ switching and routing, Internet access routers, and Internet peering. Plugin Changelog ================ +1.14 + +* fix null route issue in parsing +* add missing via column to routing table for IPv4 (v6 already has it) + 1.13 * Fix wrong match statement for IPv6 route-maps diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/diagnosticsgeneral.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/diagnosticsgeneral.volt index 61330475e..4e15ea266 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/diagnosticsgeneral.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/diagnosticsgeneral.volt @@ -36,6 +36,7 @@ POSSIBILITY OF SUCH DAMAGE. {{ lang._('Administrative Distance') }} {{ lang._('Metric') }} {{ lang._('Interface') }} + {{ lang._('Via') }} {{ lang._('Time') }} @@ -51,6 +52,7 @@ POSSIBILITY OF SUCH DAMAGE. <%= entry['ad'] %> <%= entry['metric'] %> <%= entry['interface'] %> + <%= entry['via'] %> <%= entry['time'] %> <% }); %> diff --git a/net/frr/src/opnsense/scripts/quagga/quagga.rb b/net/frr/src/opnsense/scripts/quagga/quagga.rb index 40a0afe7e..e8881a4d0 100755 --- a/net/frr/src/opnsense/scripts/quagga/quagga.rb +++ b/net/frr/src/opnsense/scripts/quagga/quagga.rb @@ -113,13 +113,13 @@ class General end # you don't have to understand this regex ;) - entry_regex = /(\S+?)\s+?(\S+?)(?: \[(\d+)\/(\d+)\])? (?:via (\S+?)|is ([^,]+?)), ([^,\n]+)(?:, (\S+))?/ + entry_regex = /(\S+?)\s+?(\S+?)(?: \[(\d+)\/(\d+)\])? (?:(?:via (\S+?)|is ([^,]+?)|), ([^,\n]+)|(unreachable \(blackhole\)))(?:, (\S+))?/ entries = [] while (line = lines.shift&.strip) if line.length > 10 - code, network, ad, metric, via, direct, interface, time = line.scan(entry_regex).first + code, network, ad, metric, via, direct, interface, unreachable, time = line.scan(entry_regex).first code = code.split('').map {|c| {short: c, long: meanings[c]}} - entries << {code: code, network: (network || direct), ad: ad, via: via, metric: metric, interface: interface, time: time } + entries << {code: code, network: (network || direct), ad: ad, via: via || unreachable, metric: metric, interface: interface, time: time } end end entries