From c82e280b42d2083c7336ff9be15885e3bf3f2998 Mon Sep 17 00:00:00 2001 From: Fabian Franz Date: Sat, 15 Apr 2017 08:57:25 +0200 Subject: [PATCH] reapply BGP patches --- net/quagga/Makefile | 2 +- .../Quagga/forms/dialogEditBGPNeighbor.xml | 2 +- .../mvc/app/models/OPNsense/Quagga/BGP.xml | 6 ++- .../templates/OPNsense/Quagga/bgpd.conf | 37 ++++++++++--------- 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/net/quagga/Makefile b/net/quagga/Makefile index 93cf75e01..98825ff13 100644 --- a/net/quagga/Makefile +++ b/net/quagga/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= quagga -PLUGIN_VERSION= 1.0.0 +PLUGIN_VERSION= 1.0.1 PLUGIN_COMMENT= Quagga Routing Suite PLUGIN_DEPENDS= quagga PLUGIN_MAINTAINER= franz.fabian.94@gmail.com diff --git a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml index 34139c884..019d3a5b8 100644 --- a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml +++ b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml @@ -19,7 +19,7 @@ neighbor.updatesource - text + select_multiple Physical name of the interface facing the peer diff --git a/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml b/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml index 248132a33..1b29feaa5 100644 --- a/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml +++ b/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml @@ -45,9 +45,13 @@ Y - + N + N + + /^(?!0).*$/ + 0 diff --git a/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf b/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf index 084040e65..a7fbc72c1 100644 --- a/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf +++ b/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf @@ -1,4 +1,5 @@ {% if helpers.exists('OPNsense.quagga.bgp.enabled') and OPNsense.quagga.bgp.enabled == '1' %} +{% from 'OPNsense/Macros/interface.macro' import physical_interface %} ! ! Zebra configuration saved from vty ! 2017/03/03 20:21:04 @@ -8,27 +9,27 @@ ! {% if helpers.exists('OPNsense.quagga.bgp.asnumber') and OPNsense.quagga.bgp.asnumber != '' %} router bgp {{ OPNsense.quagga.bgp.asnumber }} -{% if helpers.exists('OPNsense.quagga.bgp.networks') %} -{% for network in OPNsense.quagga.bgp.networks.split(',') %} +{% if helpers.exists('OPNsense.quagga.bgp.networks') %} +{% for network in OPNsense.quagga.bgp.networks.split(',') %} network {{ network }} -{% endfor %} -{% endif %} -{% if helpers.exists('OPNsense.quagga.bgp.neighbors.neighbor') %} -{% for neighbor in helpers.toList('OPNsense.quagga.bgp.neighbors.neighbor') %} -{% if neighbor.enabled == '1' %} - neighbor {{ neighbor.address }} remote-as {{ neighbor.remoteas }} -{% if helpers.exists('OPNsense.quagga.bgp.neighbors.neighbor.updatesource') and OPNsense.quagga.bgp.neighbors.neighbor.updatesource != '' %} - neighbor {{ neighbor.address }} update-source {{ neighbor.updatesource }} -{% endif %} -{% if neighbor.nexthopself == '1' %} +{% endfor %} +{% endif %} +{% if helpers.exists('OPNsense.quagga.bgp.neighbors.neighbor') %} +{% for neighbor in helpers.toList('OPNsense.quagga.bgp.neighbors.neighbor') %} +{% if neighbor.enabled == '1' %} + neighbor {{ neighbor.address }} remote-as {{ neighbor.remoteas }} +{% if 'updatesource' in neighbor and neighbor.updatesource != '' %} + neighbor {{ neighbor.address }} update-source {{ physical_interface(neighbor.updatesource) }} +{% endif %} +{% if 'nexthopself' in neighbor and neighbor.nexthopself == '1' %} neighbor {{ neighbor.address }} next-hop-self -{% endif %} -{% if neighbor.defaultoriginate == '1' %} +{% endif %} +{% if 'defaultoriginate' in neighbor and neighbor.defaultoriginate == '1' %} neighbor {{ neighbor.address }} default-originate -{% endif %} -{% endif %} -{% endfor %} -{% endif %} +{% endif %} +{% endif %} +{% endfor %} +{% endif %} {% endif %} ! line vty