From 8dc9ac88c2ab71a71ab6f532339cd4ab2b321a29 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Thu, 30 May 2019 11:06:18 +0200
Subject: T1419: multiple passive-interfaces can't be deleted in one commit

Reproduce with:
  set protocols ospf passive-interface default
  set protocols ospf passive-interface-exclude eth1
  set protocols ospf passive-interface-exclude eth2.5
  commit

  delete protocols ospf passive-interface default
  delete protocols ospf passive-interface-exclude eth1
  delete protocols ospf passive-interface-exclude eth2.5
  commit

Results in
  [ protocols ospf passive-interface default ]
  sh: line 8: [: eth1: unary operator expected
---
 templates/protocols/ospf/passive-interface/node.def | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/templates/protocols/ospf/passive-interface/node.def b/templates/protocols/ospf/passive-interface/node.def
index f73f9166..ed5d17cb 100644
--- a/templates/protocols/ospf/passive-interface/node.def
+++ b/templates/protocols/ospf/passive-interface/node.def
@@ -28,7 +28,7 @@ delete: if [ -z $VAR(@) ]
 	else 
            if [ "$VAR(@)" == "default" ]
            then
-              if [ $VAR(../passive-interface-exclude/@) ] 
+              if [ ! -z "$VAR(../passive-interface-exclude/@)" ]
               then
                  echo "Error: delete passive-interface-exclude before deleting passive-interface default";
                  exit 1;
-- 
cgit v1.2.3


From 890c9e8984c6b4eeef7ee277c88777416e1fb340 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sun, 16 Jun 2019 15:13:21 +0200
Subject: T849: move BGP peer-group node to ipv4 address family

To have a consitent IPv4/IPv6 CLI a lot of BGP neighbor nodes have been
migrated. The IPv4 peer-group has been forgotten, leaving a non consistent CLI.

Previously:
-----------

neighbor 2001:DB8:FFFF::1 {
     address-family {
         ipv6-unicast {
             peer-group iBGP
         }
     }
     peer-group iBGP
}

Now:
----

neighbor 2001:DB8:FFFF::1 {
     address-family {
         ipv6-unicast {
             peer-group iBGP
         }
     }
     address-family {
         ipv4-unicast {
             peer-group iBGP
         }
     }
}
---
 Makefile.am                                                  |  2 +-
 cfg-version/quagga@3                                         |  0
 cfg-version/quagga@4                                         |  0
 scripts/bgp/vyatta-bgp.pl                                    | 12 ++++++------
 .../node.tag/address-family/ipv4-unicast/peer-group/node.def |  6 ++++++
 .../bgp/node.tag/neighbor/node.tag/peer-group/node.def       |  6 ------
 6 files changed, 13 insertions(+), 13 deletions(-)
 delete mode 100644 cfg-version/quagga@3
 create mode 100644 cfg-version/quagga@4
 create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def
 delete mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def

diff --git a/Makefile.am b/Makefile.am
index 434de372..cd4b1ba8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,7 @@ share_perl5_DATA = lib/Vyatta/Quagga/Config.pm
 
 src_check_prefix_boundary = src/check_prefix_boundary.c
 
-curver_DATA = cfg-version/quagga@3
+curver_DATA = cfg-version/quagga@4
 
 cpiop = find  . ! -regex '\(.*~\|.*\.bak\|.*\.swp\|.*\#.*\#\)' -print0 | \
 	cpio -0pd
diff --git a/cfg-version/quagga@3 b/cfg-version/quagga@3
deleted file mode 100644
index e69de29b..00000000
diff --git a/cfg-version/quagga@4 b/cfg-version/quagga@4
new file mode 100644
index 00000000..e69de29b
diff --git a/scripts/bgp/vyatta-bgp.pl b/scripts/bgp/vyatta-bgp.pl
index 2a3ca514..331f41ed 100755
--- a/scripts/bgp/vyatta-bgp.pl
+++ b/scripts/bgp/vyatta-bgp.pl
@@ -575,11 +575,6 @@ my %qcom = (
       set => 'router bgp #3 ; neighbor #5 password #7',
       del => 'router bgp #3 ; no neighbor #5 password',
   },
-  'protocols bgp var neighbor var peer-group' => {
-      set => 'router bgp #3 ; neighbor #5 peer-group #7',
-      del => 'router bgp #3 ; no neighbor #5 peer-group #7',
-      noerr => 'del',
-  },
   'protocols bgp var neighbor var port' => {
       set => 'router bgp #3 ; neighbor #5 port #7',
       del => 'router bgp #3 ; no neighbor #5 port',
@@ -949,7 +944,7 @@ my %qcom = (
       set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 capability orf prefix-list send',
       del => 'router bgp #3 ; address-family ipv4 unicast ; no neighbor #5 capability orf prefix-list send',
   },
-  ## Note that the activate will need to be moved when we migrate to 
+  ## Note that the activate will need to be moved when we migrate to
   ## supporting a single IP version in a peering session.
   'protocols bgp var peer-group var address-family ipv4-unicast default-originate' => {
       set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 activate ; neighbor #5 default-originate',
@@ -959,6 +954,11 @@ my %qcom = (
       set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 activate ; neighbor #5 default-originate route-map #10',
       del => 'router bgp #3 ; address-family ipv4 unicast ; no neighbor #5 default-originate route-map #10',
   },
+  'protocols bgp var peer-group var address-family ipv4-unicast peer-group' => {
+      set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 peer-group #7',
+      del => 'router bgp #3 ; address-family ipv4 unicast ; no neighbor #5 peer-group #7',
+      noerr => 'del',
+  },
   'protocols bgp var peer-group var address-family ipv4-unicast disable-send-community' => {
       set => undef,
       del => undef,
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def
new file mode 100644
index 00000000..5da142d6
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def
@@ -0,0 +1,6 @@
+type: txt
+help: IPv4 peer group for this peer
+allowed: local -a params
+        params=$( /opt/vyatta/sbin/vyatta-bgp.pl --list-peer-groups --as $VAR(../../@) )
+        echo -n ${params[@]##*/}
+commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"protocols bgp $VAR(../../@) peer-group $VAR(@)\" "; "protocols bgp $VAR(../../@) peer-group $VAR(@) doesn't exist"
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def
deleted file mode 100644
index 5da142d6..00000000
--- a/templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: IPv4 peer group for this peer
-allowed: local -a params
-        params=$( /opt/vyatta/sbin/vyatta-bgp.pl --list-peer-groups --as $VAR(../../@) )
-        echo -n ${params[@]##*/}
-commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"protocols bgp $VAR(../../@) peer-group $VAR(@)\" "; "protocols bgp $VAR(../../@) peer-group $VAR(@) doesn't exist"
-- 
cgit v1.2.3


From cfc5f4220407d6fd4f9b637850b5db39ce197be9 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sun, 16 Jun 2019 17:02:52 +0200
Subject: Revert "T849: move BGP peer-group node to ipv4 address family"

This reverts commit 890c9e8984c6b4eeef7ee277c88777416e1fb340.
---
 Makefile.am                                                  |  2 +-
 cfg-version/quagga@3                                         |  0
 cfg-version/quagga@4                                         |  0
 scripts/bgp/vyatta-bgp.pl                                    | 12 ++++++------
 .../node.tag/address-family/ipv4-unicast/peer-group/node.def |  6 ------
 .../bgp/node.tag/neighbor/node.tag/peer-group/node.def       |  6 ++++++
 6 files changed, 13 insertions(+), 13 deletions(-)
 create mode 100644 cfg-version/quagga@3
 delete mode 100644 cfg-version/quagga@4
 delete mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def
 create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def

diff --git a/Makefile.am b/Makefile.am
index cd4b1ba8..434de372 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,7 @@ share_perl5_DATA = lib/Vyatta/Quagga/Config.pm
 
 src_check_prefix_boundary = src/check_prefix_boundary.c
 
-curver_DATA = cfg-version/quagga@4
+curver_DATA = cfg-version/quagga@3
 
 cpiop = find  . ! -regex '\(.*~\|.*\.bak\|.*\.swp\|.*\#.*\#\)' -print0 | \
 	cpio -0pd
diff --git a/cfg-version/quagga@3 b/cfg-version/quagga@3
new file mode 100644
index 00000000..e69de29b
diff --git a/cfg-version/quagga@4 b/cfg-version/quagga@4
deleted file mode 100644
index e69de29b..00000000
diff --git a/scripts/bgp/vyatta-bgp.pl b/scripts/bgp/vyatta-bgp.pl
index 331f41ed..2a3ca514 100755
--- a/scripts/bgp/vyatta-bgp.pl
+++ b/scripts/bgp/vyatta-bgp.pl
@@ -575,6 +575,11 @@ my %qcom = (
       set => 'router bgp #3 ; neighbor #5 password #7',
       del => 'router bgp #3 ; no neighbor #5 password',
   },
+  'protocols bgp var neighbor var peer-group' => {
+      set => 'router bgp #3 ; neighbor #5 peer-group #7',
+      del => 'router bgp #3 ; no neighbor #5 peer-group #7',
+      noerr => 'del',
+  },
   'protocols bgp var neighbor var port' => {
       set => 'router bgp #3 ; neighbor #5 port #7',
       del => 'router bgp #3 ; no neighbor #5 port',
@@ -944,7 +949,7 @@ my %qcom = (
       set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 capability orf prefix-list send',
       del => 'router bgp #3 ; address-family ipv4 unicast ; no neighbor #5 capability orf prefix-list send',
   },
-  ## Note that the activate will need to be moved when we migrate to
+  ## Note that the activate will need to be moved when we migrate to 
   ## supporting a single IP version in a peering session.
   'protocols bgp var peer-group var address-family ipv4-unicast default-originate' => {
       set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 activate ; neighbor #5 default-originate',
@@ -954,11 +959,6 @@ my %qcom = (
       set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 activate ; neighbor #5 default-originate route-map #10',
       del => 'router bgp #3 ; address-family ipv4 unicast ; no neighbor #5 default-originate route-map #10',
   },
-  'protocols bgp var peer-group var address-family ipv4-unicast peer-group' => {
-      set => 'router bgp #3 ; address-family ipv4 unicast ; neighbor #5 peer-group #7',
-      del => 'router bgp #3 ; address-family ipv4 unicast ; no neighbor #5 peer-group #7',
-      noerr => 'del',
-  },
   'protocols bgp var peer-group var address-family ipv4-unicast disable-send-community' => {
       set => undef,
       del => undef,
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def
deleted file mode 100644
index 5da142d6..00000000
--- a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/ipv4-unicast/peer-group/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: IPv4 peer group for this peer
-allowed: local -a params
-        params=$( /opt/vyatta/sbin/vyatta-bgp.pl --list-peer-groups --as $VAR(../../@) )
-        echo -n ${params[@]##*/}
-commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"protocols bgp $VAR(../../@) peer-group $VAR(@)\" "; "protocols bgp $VAR(../../@) peer-group $VAR(@) doesn't exist"
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def
new file mode 100644
index 00000000..5da142d6
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/peer-group/node.def
@@ -0,0 +1,6 @@
+type: txt
+help: IPv4 peer group for this peer
+allowed: local -a params
+        params=$( /opt/vyatta/sbin/vyatta-bgp.pl --list-peer-groups --as $VAR(../../@) )
+        echo -n ${params[@]##*/}
+commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"protocols bgp $VAR(../../@) peer-group $VAR(@)\" "; "protocols bgp $VAR(../../@) peer-group $VAR(@) doesn't exist"
-- 
cgit v1.2.3


From 6bc6b27c86d5b061ab7dfd0cdcd25463a3f594ae Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Fri, 21 Jun 2019 19:47:15 +0200
Subject: bfd: T1183: add OSPF BFD support on interface nodes

set interface ethernet eth0 ip ospf bfd
delete interface ethernet eth0 ip ospf bfd
---
 interface-templates/ip/ospf/bfd/node.def     | 3 +++
 interface-templates/ipv6/ospfv3/bfd/node.def | 4 ++++
 2 files changed, 7 insertions(+)
 create mode 100644 interface-templates/ip/ospf/bfd/node.def
 create mode 100644 interface-templates/ipv6/ospfv3/bfd/node.def

diff --git a/interface-templates/ip/ospf/bfd/node.def b/interface-templates/ip/ospf/bfd/node.def
new file mode 100644
index 00000000..fc393c2a
--- /dev/null
+++ b/interface-templates/ip/ospf/bfd/node.def
@@ -0,0 +1,3 @@
+help: Enable Bidirectional Forwarding Detection (BFD) on this interface
+create:vtysh -c "configure terminal" -c "interface $IFNAME" -c "ip ospf bfd"
+delete:vtysh -c "configure terminal" -c "interface $IFNAME" -c "no ip ospf bfd"
diff --git a/interface-templates/ipv6/ospfv3/bfd/node.def b/interface-templates/ipv6/ospfv3/bfd/node.def
new file mode 100644
index 00000000..79de2a18
--- /dev/null
+++ b/interface-templates/ipv6/ospfv3/bfd/node.def
@@ -0,0 +1,4 @@
+help: Enable Bidirectional Forwarding Detection (BFD) on this interface
+create:vtysh -c "configure terminal" -c "interface $VAR(../../../@)" -c "ipv6 ospf6 bfd"
+delete:vtysh -c "configure terminal" -c "interface $VAR(../../../@)" -c "no ipv6 ospf6 bfd"
+
-- 
cgit v1.2.3


From ed6f25d767383d5d6f3e57584f218545baf10af6 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sat, 22 Jun 2019 19:03:21 +0200
Subject: bfd: T1183: add BGP neighbor BFD support

set protocols bgp <X> neighbor <Y> bfd
set protocols bgp <X> peer-group <Y> bfd
---
 scripts/bgp/vyatta-bgp.pl                                         | 8 ++++++++
 templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def   | 1 +
 templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def | 1 +
 3 files changed, 10 insertions(+)
 create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def
 create mode 100644 templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def

diff --git a/scripts/bgp/vyatta-bgp.pl b/scripts/bgp/vyatta-bgp.pl
index 2a3ca514..fe62deb7 100755
--- a/scripts/bgp/vyatta-bgp.pl
+++ b/scripts/bgp/vyatta-bgp.pl
@@ -571,6 +571,10 @@ my %qcom = (
       set => 'router bgp #3 ; neighbor #5 passive',
       del => 'router bgp #3 ; no neighbor #5 passive',
   },
+  'protocols bgp var neighbor var bfd' => {
+      set => 'router bgp #3 ; neighbor #5 bfd',
+      del => 'router bgp #3 ; no neighbor #5 bfd',
+  },
   'protocols bgp var neighbor var password' => {
       set => 'router bgp #3 ; neighbor #5 password #7',
       del => 'router bgp #3 ; no neighbor #5 password',
@@ -1104,6 +1108,10 @@ my %qcom = (
       set => 'router bgp #3 ; neighbor #5 passive',
       del => 'router bgp #3 ; no neighbor #5 passive',
   },
+  'protocols bgp var peer-group var bfd' => {
+      set => 'router bgp #3 ; neighbor #5 bfd',
+      del => 'router bgp #3 ; no neighbor #5 bfd',
+  },
   'protocols bgp var peer-group var password' => {
       set => 'router bgp #3 ; neighbor #5 password #7',
       del => 'router bgp #3 ; no neighbor #5 password',
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def
new file mode 100644
index 00000000..b5b6a244
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def
@@ -0,0 +1 @@
+help: Enable Bidirectional Forwarding Detection (BFD) with this neighbor
diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def
new file mode 100644
index 00000000..b5b6a244
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def
@@ -0,0 +1 @@
+help: Enable Bidirectional Forwarding Detection (BFD) with this neighbor
-- 
cgit v1.2.3


From c0293182e9fafbad28cc0a790f881c812f52406b Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sun, 23 Jun 2019 11:06:59 +0200
Subject: bfd: T1183: adjust BGP/OSPF help text on BFD

---
 interface-templates/ip/ospf/bfd/node.def                          | 2 +-
 interface-templates/ipv6/ospfv3/bfd/node.def                      | 2 +-
 templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def   | 2 +-
 templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/interface-templates/ip/ospf/bfd/node.def b/interface-templates/ip/ospf/bfd/node.def
index fc393c2a..619b7415 100644
--- a/interface-templates/ip/ospf/bfd/node.def
+++ b/interface-templates/ip/ospf/bfd/node.def
@@ -1,3 +1,3 @@
-help: Enable Bidirectional Forwarding Detection (BFD) on this interface
+help: Enable Bidirectional Forwarding Detection (BFD) support
 create:vtysh -c "configure terminal" -c "interface $IFNAME" -c "ip ospf bfd"
 delete:vtysh -c "configure terminal" -c "interface $IFNAME" -c "no ip ospf bfd"
diff --git a/interface-templates/ipv6/ospfv3/bfd/node.def b/interface-templates/ipv6/ospfv3/bfd/node.def
index 79de2a18..7ef33bb7 100644
--- a/interface-templates/ipv6/ospfv3/bfd/node.def
+++ b/interface-templates/ipv6/ospfv3/bfd/node.def
@@ -1,4 +1,4 @@
-help: Enable Bidirectional Forwarding Detection (BFD) on this interface
+help: Enable Bidirectional Forwarding Detection (BFD) support
 create:vtysh -c "configure terminal" -c "interface $VAR(../../../@)" -c "ipv6 ospf6 bfd"
 delete:vtysh -c "configure terminal" -c "interface $VAR(../../../@)" -c "no ipv6 ospf6 bfd"
 
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def
index b5b6a244..284ce4d8 100644
--- a/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/bfd/node.def
@@ -1 +1 @@
-help: Enable Bidirectional Forwarding Detection (BFD) with this neighbor
+help: Enable Bidirectional Forwarding Detection (BFD) support
diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def
index b5b6a244..284ce4d8 100644
--- a/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def
+++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/bfd/node.def
@@ -1 +1 @@
-help: Enable Bidirectional Forwarding Detection (BFD) with this neighbor
+help: Enable Bidirectional Forwarding Detection (BFD) support
-- 
cgit v1.2.3


From 01a1df5cb52f82e6110f63a5c47d73e01153c358 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sun, 23 Jun 2019 12:32:56 +0200
Subject: ospfv3: T1464: support configuring explicit network type

* broadcast
* point-to-point
---
 interface-templates/ipv6/ospfv3/network/node.def | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 interface-templates/ipv6/ospfv3/network/node.def

diff --git a/interface-templates/ipv6/ospfv3/network/node.def b/interface-templates/ipv6/ospfv3/network/node.def
new file mode 100644
index 00000000..d1f6292d
--- /dev/null
+++ b/interface-templates/ipv6/ospfv3/network/node.def
@@ -0,0 +1,9 @@
+type: txt
+help: Network type
+syntax:expression: $VAR(@) in "broadcast", "point-to-point"; \
+       "Must be (broadcast|point-to-point)"
+update:vtysh -c "configure terminal" -c "interface $IFNAME" -c "ipv6 ospf network $VAR(@)"
+delete:vtysh -c "configure terminal" -c "interface $IFNAME" -c "no ipv6 ospf network"
+
+val_help: broadcast; Broadcast network type
+val_help: point-to-point; Point-to-point network type
-- 
cgit v1.2.3


From 4f6182f77ce5925b22c16bbde6a359e13ccc9c6a Mon Sep 17 00:00:00 2001
From: Runar Borge <runar@borge.nu>
Date: Fri, 5 Jul 2019 21:57:40 +0200
Subject: T1499: Allow for usage of systemd interface mappings

---
 templates/protocols/static/route/node.tag/dhcp-interface/node.def       | 2 +-
 .../static/table/node.tag/route/node.tag/dhcp-interface/node.def        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/templates/protocols/static/route/node.tag/dhcp-interface/node.def b/templates/protocols/static/route/node.tag/dhcp-interface/node.def
index db83853d..7820800b 100644
--- a/templates/protocols/static/route/node.tag/dhcp-interface/node.def
+++ b/templates/protocols/static/route/node.tag/dhcp-interface/node.def
@@ -2,7 +2,7 @@ type: txt
 help: DHCP interface that supplies the next-hop IP address for this static route
 allowed:
         local -a array ;
-        array=( /var/lib/dhcp/eth* /var/lib/dhcp/br* /var/lib/dhcp/bond* ) ;
+        array=( /var/lib/dhcp/en* /var/lib/dhcp/eth* /var/lib/dhcp/br* /var/lib/dhcp/bond* ) ;
         echo  -n ${array[@]##*/}
 create:
         sudo /opt/vyatta/sbin/vyatta-update-static-route.pl --interface=$VAR(@) --route=$VAR(../@) --table=main --option=create
diff --git a/templates/protocols/static/table/node.tag/route/node.tag/dhcp-interface/node.def b/templates/protocols/static/table/node.tag/route/node.tag/dhcp-interface/node.def
index a86628ae..3f0afdb1 100644
--- a/templates/protocols/static/table/node.tag/route/node.tag/dhcp-interface/node.def
+++ b/templates/protocols/static/table/node.tag/route/node.tag/dhcp-interface/node.def
@@ -2,7 +2,7 @@ type: txt
 help: DHCP interface that supplies the next-hop IP address for this static route
 allowed:
         local -a array ;
-        array=( /var/lib/dhcp/eth* /var/lib/dhcp/br* /var/lib/dhcp/bond* ) ;
+        array=( /var/lib/dhcp/en* /var/lib/dhcp/eth* /var/lib/dhcp/br* /var/lib/dhcp/bond* ) ;
         echo  -n ${array[@]##*/}
 create:
         ifc="$VAR(@)"
-- 
cgit v1.2.3


From d52b304f973397cf983b00e95b9d35a12bc8e2d9 Mon Sep 17 00:00:00 2001
From: Wouter van Os <wouter0100@gmail.com>
Date: Mon, 8 Jul 2019 09:52:17 +0200
Subject: [bgp] T1509: add support for replace-as in local-as BGP neighbor

---
 scripts/bgp/vyatta-bgp.pl                                             | 4 ++++
 .../node.tag/local-as/node.tag/no-prepend/replace-as/node.def         | 1 +
 2 files changed, 5 insertions(+)
 create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.tag/no-prepend/replace-as/node.def

diff --git a/scripts/bgp/vyatta-bgp.pl b/scripts/bgp/vyatta-bgp.pl
index fe62deb7..93fb601f 100755
--- a/scripts/bgp/vyatta-bgp.pl
+++ b/scripts/bgp/vyatta-bgp.pl
@@ -563,6 +563,10 @@ my %qcom = (
       set => 'router bgp #3 ; no neighbor #5 local-as #7 ; neighbor #5 local-as #7 no-prepend',
       del => 'router bgp #3 ; no neighbor #5 local-as #7 no-prepend ; neighbor #5 local-as #7',
   },
+  'protocols bgp var neighbor var local-as var no-prepend replace-as' => {
+      set => 'router bgp #3 ; no neighbor #5 local-as #7 ; neighbor #5 local-as #7 no-prepend replace-as',
+      del => 'router bgp #3 ; neighbor #5 local-as #7 no-prepend',
+  },
   'protocols bgp var neighbor var override-capability' => {
       set => 'router bgp #3 ; neighbor #5 override-capability',
       del => 'router bgp #3 ; no neighbor #5 override-capability',
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.tag/no-prepend/replace-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.tag/no-prepend/replace-as/node.def
new file mode 100644
index 00000000..52fbc0b0
--- /dev/null
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/local-as/node.tag/no-prepend/replace-as/node.def
@@ -0,0 +1 @@
+help: Only prepend local-as when transmitting local-route updates to this peer.
-- 
cgit v1.2.3


From 8abf1b30555822f4948088db3abf6654a71f7325 Mon Sep 17 00:00:00 2001
From: mevertse <merijn@trans-ix.nl>
Date: Mon, 8 Jul 2019 09:53:36 +0200
Subject: T1391: In route-map set community additive (#28)

---
 .../policy/route-map/node.tag/rule/node.tag/set/community/node.def     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def b/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def
index ccb033fc..9bf94abb 100644
--- a/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def
+++ b/templates/policy/route-map/node.tag/rule/node.tag/set/community/node.def
@@ -5,8 +5,9 @@ val_help: local-AS; Advertise communities in local AS only (NO_EXPORT_SUBCONFED)
 val_help: no-advertise; Don't advertise this route to any peer (NO_ADVERTISE)
 val_help: no-export; Don't advertise outside of this AS of confederation boundry (NO_EXPORT)
 val_help: internet; Symbolic Internet community 0
+val_help: additive; Add the community instead of replacing existing communities
 
-allowed:echo "none local-AS no-advertise no-export internet"
+allowed:echo "none local-AS no-advertise no-export internet additive"
 
 syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-community $VAR(@)"
 commit:expression: $VAR(../../action/) != "" ; "You must specify an action"
-- 
cgit v1.2.3


From 7ac4d9e3dbc8c01b17cf1c89675ddf1286338fc2 Mon Sep 17 00:00:00 2001
From: Daniil Baturin <daniil@baturin.org>
Date: Mon, 8 Jul 2019 19:30:21 +0200
Subject: Improve CLI help for the new BGP remote-as external/internal options.

---
 templates/protocols/bgp/node.tag/neighbor/node.def                 | 6 +++---
 .../bgp/node.tag/neighbor/node.tag/interface/remote-as/node.def    | 7 ++++---
 .../node.tag/neighbor/node.tag/interface/v6only/remote-as/node.def | 7 ++++---
 .../protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def    | 7 ++++---
 .../protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def  | 7 ++++---
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/templates/protocols/bgp/node.tag/neighbor/node.def b/templates/protocols/bgp/node.tag/neighbor/node.def
index c2a810e4..ac51c00b 100644
--- a/templates/protocols/bgp/node.tag/neighbor/node.def
+++ b/templates/protocols/bgp/node.tag/neighbor/node.def
@@ -1,9 +1,9 @@
 tag:
 type: txt
 help: BGP neighbor
-val_help: txt; BGP neighbor IP address
-val_help: txt; BGP neighbor IPv6 address
-val_help: txt; Interface name
+val_help: ipv4; BGP neighbor IP address
+val_help: ipv6; BGP neighbor IPv6 address
+val_help: <interface>; Interface name
 
 syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \
                            --check-neighbor-ip --neighbor $VAR(@)" 
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/remote-as/node.def
index 61cd13a0..80edfd4d 100644
--- a/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/remote-as/node.def
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/remote-as/node.def
@@ -1,6 +1,7 @@
 type: txt
 help: Neighbor BGP AS number [REQUIRED]
-val_help: txt: 1-4294967294; Neighbor AS number
-val_help: txt: external; except that if the peers ASN is different than mine
-val_help: txt: internal; except that if the peers ASN is the same as mine
+allowed: echo "internal external"
+val_help: u32:1-4294967294; Neighbor AS number
+val_help: external; any AS different from the local AS
+val_help: internal; same as the local AS
 syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-remote-as $VAR(@)" 
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/v6only/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/v6only/remote-as/node.def
index 61cd13a0..80edfd4d 100644
--- a/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/v6only/remote-as/node.def
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/interface/v6only/remote-as/node.def
@@ -1,6 +1,7 @@
 type: txt
 help: Neighbor BGP AS number [REQUIRED]
-val_help: txt: 1-4294967294; Neighbor AS number
-val_help: txt: external; except that if the peers ASN is different than mine
-val_help: txt: internal; except that if the peers ASN is the same as mine
+allowed: echo "internal external"
+val_help: u32:1-4294967294; Neighbor AS number
+val_help: external; any AS different from the local AS
+val_help: internal; same as the local AS
 syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-remote-as $VAR(@)" 
diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def
index 61cd13a0..79939380 100644
--- a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def
+++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def
@@ -1,6 +1,7 @@
 type: txt
 help: Neighbor BGP AS number [REQUIRED]
-val_help: txt: 1-4294967294; Neighbor AS number
-val_help: txt: external; except that if the peers ASN is different than mine
-val_help: txt: internal; except that if the peers ASN is the same as mine
+allowed: echo "internal external"
+val_help: u32:1-4294967294; AS number
+val_help: external; any AS different from the local AS
+val_help: internal; same as local AS
 syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-remote-as $VAR(@)" 
diff --git a/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def
index 61cd13a0..80edfd4d 100644
--- a/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def
+++ b/templates/protocols/bgp/node.tag/peer-group/node.tag/remote-as/node.def
@@ -1,6 +1,7 @@
 type: txt
 help: Neighbor BGP AS number [REQUIRED]
-val_help: txt: 1-4294967294; Neighbor AS number
-val_help: txt: external; except that if the peers ASN is different than mine
-val_help: txt: internal; except that if the peers ASN is the same as mine
+allowed: echo "internal external"
+val_help: u32:1-4294967294; Neighbor AS number
+val_help: external; any AS different from the local AS
+val_help: internal; same as the local AS
 syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-remote-as $VAR(@)" 
-- 
cgit v1.2.3