summaryrefslogtreecommitdiff
path: root/packages/ndppd/patches
diff options
context:
space:
mode:
authorHenning Surmeier <me@hensur.de>2022-01-11 13:12:26 +0100
committerHenning Surmeier <me@hensur.de>2022-01-11 13:12:26 +0100
commitb2628196a87d883358f32af990915754f71e2f42 (patch)
treeda10e5d39290dda8202892c6df5b3603bfc93b67 /packages/ndppd/patches
parent301d432afab62fa3eebc8ecf65c820ee73192e85 (diff)
downloadvyos-build-b2628196a87d883358f32af990915754f71e2f42.tar.gz
vyos-build-b2628196a87d883358f32af990915754f71e2f42.zip
ndppd: T4172: Backport upstream fix for ndppd
Backports a fix to not read the full ipv6 route table if there is no need to do so. Which is the case when no auto prefixes are configured.
Diffstat (limited to 'packages/ndppd/patches')
-rw-r--r--packages/ndppd/patches/0001-skip-route-table-if-there-is-no-auto-rule.patch83
-rw-r--r--packages/ndppd/patches/0002-set-vyos-version.patch25
2 files changed, 108 insertions, 0 deletions
diff --git a/packages/ndppd/patches/0001-skip-route-table-if-there-is-no-auto-rule.patch b/packages/ndppd/patches/0001-skip-route-table-if-there-is-no-auto-rule.patch
new file mode 100644
index 00000000..df6d2e5c
--- /dev/null
+++ b/packages/ndppd/patches/0001-skip-route-table-if-there-is-no-auto-rule.patch
@@ -0,0 +1,83 @@
+From b148ba055245cec5007ee91dd3ffbfeb58d49c5a Mon Sep 17 00:00:00 2001
+From: Henning Surmeier <me@hensur.de>
+Date: Sun, 9 Jan 2022 20:35:15 +0100
+Subject: [PATCH 1/2] skip route table if there is no auto rule
+
+---
+ src/ndppd.cc | 3 ++-
+ src/rule.cc | 8 ++++++++
+ src/rule.h | 4 ++++
+ 3 files changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/src/ndppd.cc b/src/ndppd.cc
+index bec9656..b303721 100644
+--- a/src/ndppd.cc
++++ b/src/ndppd.cc
+@@ -304,7 +304,8 @@ int main(int argc, char* argv[], char* env[])
+ t1.tv_sec = t2.tv_sec;
+ t1.tv_usec = t2.tv_usec;
+
+- route::update(elapsed_time);
++ if (rule::any_auto())
++ route::update(elapsed_time);
+ session::update_all(elapsed_time);
+ }
+
+diff --git a/src/rule.cc b/src/rule.cc
+index 9e72480..a1e8376 100644
+--- a/src/rule.cc
++++ b/src/rule.cc
+@@ -24,6 +24,8 @@
+
+ NDPPD_NS_BEGIN
+
++bool rule::_any_aut = false;
++
+ rule::rule()
+ {
+ }
+@@ -49,6 +51,7 @@ ptr<rule> rule::create(const ptr<proxy>& pr, const address& addr, bool aut)
+ ru->_pr = pr;
+ ru->_addr = addr;
+ ru->_aut = aut;
++ _any_aut = _any_aut || aut;
+
+ logger::debug()
+ << "rule::create() if=" << pr->ifa()->name().c_str() << ", addr=" << addr
+@@ -57,6 +60,11 @@ ptr<rule> rule::create(const ptr<proxy>& pr, const address& addr, bool aut)
+ return ru;
+ }
+
++bool rule::any_auto()
++{
++ return _any_aut;
++}
++
+ const address& rule::addr() const
+ {
+ return _addr;
+diff --git a/src/rule.h b/src/rule.h
+index 6663066..ca2aa36 100644
+--- a/src/rule.h
++++ b/src/rule.h
+@@ -42,6 +42,8 @@ public:
+
+ bool check(const address& addr) const;
+
++ static bool any_auto();
++
+ private:
+ weak_ptr<rule> _ptr;
+
+@@ -53,6 +55,8 @@ private:
+
+ bool _aut;
+
++ static bool _any_aut;
++
+ rule();
+ };
+
+--
+2.34.1
+
diff --git a/packages/ndppd/patches/0002-set-vyos-version.patch b/packages/ndppd/patches/0002-set-vyos-version.patch
new file mode 100644
index 00000000..3fef87c4
--- /dev/null
+++ b/packages/ndppd/patches/0002-set-vyos-version.patch
@@ -0,0 +1,25 @@
+From b0789cf679b0179d37e22f5a936af273d982abeb Mon Sep 17 00:00:00 2001
+From: Henning Surmeier <me@hensur.de>
+Date: Tue, 11 Jan 2022 13:05:47 +0100
+Subject: [PATCH 2/2] set -vyos version
+
+---
+ src/ndppd.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ndppd.h b/src/ndppd.h
+index 008726c..61ed950 100644
+--- a/src/ndppd.h
++++ b/src/ndppd.h
+@@ -21,7 +21,7 @@
+ #define NDPPD_NS_BEGIN namespace ndppd {
+ #define NDPPD_NS_END }
+
+-#define NDPPD_VERSION "0.2.4"
++#define NDPPD_VERSION "0.2.5-vyos"
+
+ #include <assert.h>
+
+--
+2.34.1
+