Merge ~smb/ubuntu/+source/iproute2:ubuntu/eoan-merge-5.2.0 into ubuntu/+source/iproute2:debian/sid

Proposed by Stefan Bader
Status: Merged
Approved by: Christian Ehrhardt 
Approved revision: 5073088ee7ee8f35862860ae309fd9bbf580efcd
Merge reported by: Christian Ehrhardt 
Merged at revision: 5073088ee7ee8f35862860ae309fd9bbf580efcd
Proposed branch: ~smb/ubuntu/+source/iproute2:ubuntu/eoan-merge-5.2.0
Merge into: ubuntu/+source/iproute2:debian/sid
Diff against target: 827 lines (+667/-44)
7 files modified
debian/changelog (+272/-3)
debian/control (+2/-1)
debian/patches/1000-ubuntu-poc-fan-driver.patch (+74/-0)
debian/patches/1001-ubuntu-poc-fan-driver-v3.patch (+134/-0)
debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch (+178/-0)
debian/patches/series (+7/-1)
dev/null (+0/-39)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Review via email: mp+371078@code.launchpad.net

Description of the change

Rebased to debian/sid (5.2.0-1) resulting in no change of delta except dropping one patch we had pulled from 5.2 to fix a test regression. I deliberately left the commit adding this in the history for this merge to document that this had been in the last ubuntu upload and was dropped during the merge.

Test builds at: https://launchpad.net/~smb/+archive/ubuntu/eoan

To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

you missed the tags for a merge, but I still have the old merge so that is fine for now

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Drop error suppress - ok

The Fan patches have not been refreshed since last mereg, so you could this time drop this line:
- Refresh: Ubuntu Fan driver (V2/3/4) patches

Changelog/Version - ok

Overall LGTM +1

review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Checked, Tagged and Sponsored.
Please track proposed migration as usual

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index df82bc4..2e6cda4 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,21 @@
6+iproute2 (5.2.0-1ubuntu1) eoan; urgency=medium
7+
8+ * Merge with Debian testing. Remaining changes:
9+ - Add: Ubuntu Fan driver (V2/3/4) patches
10+ - d/p/1000-ubuntu-poc-fan-driver.patch
11+ Ubuntu FAN driver support V2 (LP 1439706)
12+ - d/p/1001-ubuntu-poc-fan-driver-v3.patch
13+ Ubuntu FAN driver support V3 (LP 1470091)
14+ - d/p/1002-ubuntu-poc-fan-driver-vxlan.patch
15+ Ubuntu FAN driver support VXLAN V4.
16+ - Drop: debian/patches/0001-Add-moo-feature.patch
17+ - Refresh: Ubuntu Fan driver (V2/3/4) patches
18+ * Dropped changes:
19+ - d/p/1005-lib-suppress-error-msg-when-filling-the-cache.patch
20+ Already included upstream in 5.2.0.
21+
22+ -- Stefan Bader <stefan.bader@canonical.com> Thu, 08 Aug 2019 11:18:17 +0200
23+
24 iproute2 (5.2.0-1) unstable; urgency=medium
25
26 * Use /run/netns rather than /var/run/netns. Allows to manage namespaces
27@@ -9,6 +27,34 @@ iproute2 (5.2.0-1) unstable; urgency=medium
28
29 -- Luca Boccassi <bluca@debian.org> Tue, 09 Jul 2019 20:52:47 +0100
30
31+iproute2 (5.1.0-1ubuntu2) eoan; urgency=medium
32+
33+ * Add: d/p/1005-lib-suppress-error-msg-when-filling-the-cache.patch
34+ Suppress meaningless error message during interface setup.
35+
36+ -- Stefan Bader <stefan.bader@canonical.com> Wed, 10 Jul 2019 16:38:52 +0200
37+
38+iproute2 (5.1.0-1ubuntu1) eoan; urgency=medium
39+
40+ * Merge with Debian experimental. Remaining changes:
41+ - Add: Ubuntu Fan driver (V2/3/4) patches
42+ - d/p/1000-ubuntu-poc-fan-driver.patch
43+ Ubuntu FAN driver support V2 (LP 1439706)
44+ - d/p/1001-ubuntu-poc-fan-driver-v3.patch
45+ Ubuntu FAN driver support V3 (LP 1470091)
46+ - d/p/1002-ubuntu-poc-fan-driver-vxlan.patch
47+ Ubuntu FAN driver support VXLAN V4.
48+ - Drop: debian/patches/0001-Add-moo-feature.patch
49+ - Refresh: Ubuntu Fan driver (V2/3/4) patches
50+ * Dropped changes:
51+ - d/p/1005-ubuntu-fix-testsuite-kenv.patch (upstream)
52+ - d/p/1006-ubuntu-iprule-fix-output.patch (upstream
53+ - d/p/ss-review-ssfilter.patch (upstream)
54+ - Set debhelper dependency to >= 10 (upstream)
55+ - Set compat level 10 (upstream)
56+
57+ -- Stefan Bader <stefan.bader@canonical.com> Mon, 17 Jun 2019 11:15:33 +0200
58+
59 iproute2 (5.1.0-1) experimental; urgency=medium
60
61 * Update upstream source from tag 'upstream/5.1.0'
62@@ -81,6 +127,43 @@ iproute2 (4.18.0-2) unstable; urgency=medium
63
64 -- Luca Boccassi <bluca@debian.org> Tue, 28 Aug 2018 16:55:44 +0100
65
66+iproute2 (4.18.0-1ubuntu3) eoan; urgency=medium
67+
68+ * d/p/ss-review-ssfilter.patch: fixed issue with ss and ssfilter
69+ where ssfilter rejects single expressions if enclosed in
70+ braces (LP: #1831775)
71+
72+ -- Rafael David Tinoco <rafaeldtinoco@ubuntu.com> Wed, 05 Jun 2019 21:26:00 -0300
73+
74+iproute2 (4.18.0-1ubuntu2) cosmic; urgency=low
75+
76+ * d/p/1006-ubuntu-iprule-fix-output.patch
77+ Fix destination prefix output of "ip rule show" (LP: #1789431).
78+
79+ -- Stefan Bader <stefan.bader@canonical.com> Tue, 28 Aug 2018 16:38:47 +0200
80+
81+iproute2 (4.18.0-1ubuntu1) cosmic; urgency=medium
82+
83+ * Merge with Debian unstable. Remaining changes:
84+ - Add: Ubuntu Fan driver (V2/3/4) patches
85+ - debian/patches/1000-ubuntu-poc-fan-driver.patch
86+ Ubuntu FAN driver support V2 (LP 1439706)
87+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
88+ Ubuntu FAN driver support V3 (LP 1470091)
89+ - debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
90+ Ubuntu FAN driver support VXLAN V4.
91+ - Drop: debian/patches/0001-Add-moo-feature.patch
92+ - set compat level 10 (no further changes needed)
93+ - Refresh: Ubuntu Fan driver (V2/3/4) patches
94+ Patches updated to apply against upstream 4.18 release.
95+ * Added changes:
96+ - debian/patches/1005-ubuntu-fix-testsuite-kenv.patch
97+ Fix testsuite failure if there are too many kernel config
98+ options.
99+ - Set debhelper dependency to >= 10 (no further changes needed)
100+
101+ -- Stefan Bader <stefan.bader@canonical.com> Wed, 22 Aug 2018 09:54:04 +0200
102+
103 iproute2 (4.18.0-1) experimental; urgency=medium
104
105 * Add Brazilian Portuguese translation for Debconf template. Thanks
106@@ -111,6 +194,22 @@ iproute2 (4.17.0-1) experimental; urgency=medium
107
108 -- Luca Boccassi <bluca@debian.org> Sat, 09 Jun 2018 17:45:11 +0100
109
110+iproute2 (4.16.0-4ubuntu1) cosmic; urgency=medium
111+
112+ * Merge with Debian unstable. Remaining changes:
113+ - debian/patches/1000-ubuntu-poc-fan-driver.patch [refreshed]
114+ Ubuntu FAN driver support V2 (LP 1439706)
115+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch [refreshed]
116+ Ubuntu FAN driver support V3 (LP 1470091)
117+ - debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch [refreshed]
118+ Ubuntu FAN driver support VXLAN V4.
119+ - drop debian/patches/0001-Add-moo-feature.patch
120+ - set compat level 10 (no further changes needed)
121+ * Dropped (upstream)
122+ - d/p/netns-allow-negative-nsid: permit negative nsid using "auto".
123+
124+ -- Stefan Bader <stefan.bader@canonical.com> Mon, 30 Jul 2018 16:55:35 +0200
125+
126 iproute2 (4.16.0-4) unstable; urgency=medium
127
128 * Backport patch to fix regression in v6 automated parsing.
129@@ -163,6 +262,32 @@ iproute2 (4.15.0-3) unstable; urgency=medium
130
131 -- Luca Boccassi <bluca@debian.org> Mon, 12 Mar 2018 22:46:24 +0000
132
133+iproute2 (4.15.0-2ubuntu1) bionic; urgency=medium
134+
135+ * Merge with Debian unstable. Remaining changes:
136+ - debian/patches/1000-ubuntu-poc-fan-driver.patch
137+ Ubuntu FAN driver support V2 (LP 1439706)
138+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
139+ Ubuntu FAN driver support V3 (LP 1470091)
140+ - debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
141+ Ubuntu FAN driver support VXLAN V4
142+ - drop debian/patches/0001-Add-moo-feature.patch
143+ - set compat level 10 (no further changes needed)
144+ - Add: d/p/netns-allow-negative-nsid: permit negative nsid using "auto"
145+ * Dropped changes (in Debian):
146+ - follow upstream dropping the old ip documentation (of 1999)
147+ - d/rules: consider DEB_*_GNU_TYPE from env
148+ - d/control: bump debhelper dependency and Standards-Version
149+ - drop 0003-fix-segfault-with-iptables-1.6.patch (upstream)
150+ - d/control: fix lintian priority-extra-is-replaced-by-priority-optional
151+ - d/t/control: d/t/testsuite.sh: add iproute2 testsuite as autopkgtest
152+ * Dropped changes (upstream):
153+ - d/p/fix-testsuite-broken-pipes.patch: avoid broken pipe errors in tests
154+ * Added changes:
155+ - Refresh: d/p/*ubuntu-poc-fan-driver*.patch to latest upstream
156+
157+ -- Stefan Bader <stefan.bader@canonical.com> Mon, 26 Feb 2018 16:21:30 +0100
158+
159 iproute2 (4.15.0-2) unstable; urgency=medium
160
161 * Update upstream git repository URL. (Closes: #888804)
162@@ -213,6 +338,58 @@ iproute2 (4.14.1-1) unstable; urgency=medium
163
164 -- Luca Boccassi <bluca@debian.org> Sat, 23 Dec 2017 14:55:10 +0100
165
166+iproute2 (4.14.1-0ubuntu3) bionic; urgency=medium
167+
168+ [ Christian Brauner ]
169+ * d/p/netns-allow-negative-nsid: permit negative nsid using "auto".
170+
171+ -- Robie Basak <robie.basak@ubuntu.com> Thu, 15 Feb 2018 15:03:56 +0000
172+
173+iproute2 (4.14.1-0ubuntu2) bionic; urgency=medium
174+
175+ * d/p/1002-ubuntu-poc-fan-driver-vxlan.patch: update to fix fan-map
176+ processing in vxlan_parse_opt in new version of iproute2.
177+
178+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Mon, 11 Dec 2017 12:13:50 +0100
179+
180+iproute2 (4.14.1-0ubuntu1) bionic; urgency=medium
181+
182+ [ Christian Ehrhardt ]
183+ * Merge from Debian unstable AND latest upstream (LP: #1726730)
184+ (LP: #1735032). Remaining changes:
185+ - debian/patches/1000-ubuntu-poc-fan-driver.patch
186+ Ubuntu FAN driver support V2 (LP 1439706)
187+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
188+ Ubuntu FAN driver support V3 (LP 1470091)
189+ - debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
190+ Ubuntu FAN driver support VXLAN V4.
191+ * Dropped changes (upstream now)
192+ - Fix ip maddr show (LP 1732032):
193+ - d/p/1003-ip-maddr-fix-igmp-parsing.patch: fix igmp parsing when iface is
194+ long
195+ - d/p/1004-ip-maddr-avoid-uninitialized-data.patch: avoid accessing
196+ uninitialized data
197+ - d/p/1005-ip-maddr-fix-filtering-by-device.patch: fix filtering
198+ by device
199+ - d/p/1006-fix-undeclared-UINT16_MAX.patch: FTBFS: tc: include stdint.h
200+ explicitly for UINT16_MAX (LP 1735158)
201+ * Added changes
202+ - drop 0003-fix-segfault-with-iptables-1.6.patch (upstream)
203+ - update d/p/*ubuntu-poc-fan-driver*.patch to latest upstream
204+ - d/control: fix lintian priority-extra-is-replaced-by-priority-optional
205+ - d/t/control: d/t/testsuite.sh: add iproute2 testsuite as autopkgtest
206+ - d/p/fix-testsuite-broken-pipes.patch: avoid broken pipe errors in tests
207+
208+ [ Julian Wollrath <jwollrath@web.de> ]
209+ * Added changes based on suggested 4.14.1-0 changes for Debian in bug 879854
210+ - dropped d/p/0001-Add-moo-feature.patch (isn't needed)
211+ - follow upstream dropping the old ip documentation (of 1999)
212+ - d/rules: consider DEB_*_GNU_TYPE from env
213+ - d/control: bump debhelper dependency and Standards-Version
214+ - set compat level 10 (no further changes needed)
215+
216+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Thu, 30 Nov 2017 14:17:25 +0100
217+
218 iproute2 (4.13.0-1) unstable; urgency=medium
219
220 * Merge tag 'upstream/4.13.0' (Closes: #879854)
221@@ -243,6 +420,44 @@ iproute2 (4.9.0-2) unstable; urgency=medium
222
223 -- Andreas Henriksson <andreas@fatal.se> Thu, 14 Sep 2017 11:01:46 +0200
224
225+iproute2 (4.9.0-1ubuntu3) bionic; urgency=medium
226+
227+ * Fix ip maddr show (LP: #1732032):
228+ - d/p/1003-ip-maddr-fix-igmp-parsing.patch: fix igmp parsing when iface is
229+ long
230+ - d/p/1004-ip-maddr-avoid-uninitialized-data.patch: avoid accessing
231+ uninitialized data
232+ - d/p/1005-ip-maddr-fix-filtering-by-device.patch: fix filtering
233+ by device
234+ * d/p/1006-fix-undeclared-UINT16_MAX.patch: FTBFS: tc: include stdint.h
235+ explicitly for UINT16_MAX (LP: #1735158)
236+
237+ -- Andreas Hasenack <andreas@canonical.com> Wed, 29 Nov 2017 09:35:46 -0200
238+
239+iproute2 (4.9.0-1ubuntu2) artful; urgency=medium
240+
241+ * No-change rebuild against latest iptables
242+
243+ -- Jeremy Bicha <jbicha@ubuntu.com> Sun, 18 Jun 2017 23:59:24 -0400
244+
245+iproute2 (4.9.0-1ubuntu1) zesty; urgency=medium
246+
247+ * Merge from Debian unstable. Remaining changes:
248+ - debian/patches/1000-ubuntu-poc-fan-driver.patch
249+ Ubuntu FAN driver support V2 (LP: #1439706)
250+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
251+ Ubuntu FAN driver support V3 (LP: #1470091)
252+ - debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
253+ Ubuntu FAN driver support VXLAN V4.
254+ * Drop the following, fixed in debian:
255+ - d/p/1003-fix-variable-in-libnetlink.patch (LP: #1522371)
256+ - Add TIPC support (LP: #1508225):
257+ - d/control: add libmnl-dev to BDs, to include TIPC support.
258+ - d/iproute2.install: add tipc binary.
259+ * Rebased FAN quilt patches on to latest upstream code.
260+
261+ -- Jon Grimm <jon.grimm@canonical.com> Fri, 10 Feb 2017 14:15:55 -0600
262+
263 iproute2 (4.9.0-1) unstable; urgency=medium
264
265 * New upstream release, tested by Julian Wollrath.
266@@ -307,6 +522,34 @@ iproute2 (4.6.0-1) unstable; urgency=medium
267
268 -- Andreas Henriksson <andreas@fatal.se> Sat, 09 Jul 2016 13:17:22 +0200
269
270+iproute2 (4.3.0-1ubuntu3) xenial; urgency=medium
271+
272+ * Add d/p/1003-fix-variable-in-libnetlink.patch (LP: #1522371), fix a variable name
273+ collision issuing a segfault; from upstream.
274+ * Add TIPC support (LP: #1508225):
275+ - d/control: add libmnl-dev to BDs, to include TIPC support.
276+ - d/iproute2.install: add tipc binary.
277+
278+ -- Pierre-André MOREY <pierre-andre.morey@canonical.com> Tue, 05 Apr 2016 09:43:44 +0200
279+
280+iproute2 (4.3.0-1ubuntu2) xenial; urgency=medium
281+
282+ * No-change rebuild for new iptables.
283+
284+ -- Matthias Klose <doko@ubuntu.com> Sun, 21 Feb 2016 20:00:55 +0100
285+
286+iproute2 (4.3.0-1ubuntu1) xenial; urgency=low
287+
288+ * Merge from Debian unstable. Remaining changes:
289+ - debian/patches/1000-ubuntu-poc-fan-driver.patch
290+ Ubuntu FAN driver support V2 (LP: #1439706)
291+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
292+ Ubuntu FAN driver support V3 (LP: #1470091)
293+ - debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
294+ Ubuntu FAN driver support VXLAN V4.
295+
296+ -- Andy Whitcroft <apw@ubuntu.com> Tue, 22 Dec 2015 09:32:32 +0000
297+
298 iproute2 (4.3.0-1) unstable; urgency=medium
299
300 * Add debian/gbp.conf
301@@ -318,6 +561,23 @@ iproute2 (4.3.0-1) unstable; urgency=medium
302
303 -- Andreas Henriksson <andreas@fatal.se> Thu, 26 Nov 2015 18:34:59 +0100
304
305+iproute2 (4.1.1-1ubuntu2) xenial; urgency=low
306+
307+ * debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
308+ Ubuntu FAN drvier support VXLAN V4.
309+
310+ -- Andy Whitcroft <apw@ubuntu.com> Tue, 17 Nov 2015 13:29:03 +0000
311+
312+iproute2 (4.1.1-1ubuntu1) wily; urgency=medium
313+
314+ * Merge with Debian, remaining changes (LP: #1448800):
315+ - debian/patches/1000-ubuntu-poc-fan-driver.patch
316+ Ubuntu FAN driver support V2 (LP: #1439706)
317+ - debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
318+ Ubuntu FAN driver support V3 (LP: #1470091)
319+
320+ -- Andy Whitcroft <apw@ubuntu.com> Wed, 19 Aug 2015 09:59:35 +0100
321+
322 iproute2 (4.1.1-1) unstable; urgency=medium
323
324 * [be9f298] Imported Upstream version 4.1.1
325@@ -334,6 +594,18 @@ iproute2 (4.0.0-1) unstable; urgency=medium
326
327 -- Alexander Wirt <formorer@debian.org> Wed, 24 Jun 2015 10:01:45 +0200
328
329+iproute2 (3.16.0-2ubuntu2) wily; urgency=low
330+
331+ * Update Ubuntu FAN support to V3. (LP: #1470091)
332+
333+ -- Andy Whitcroft <apw@canonical.com> Mon, 29 Jun 2015 16:59:24 +0100
334+
335+iproute2 (3.16.0-2ubuntu1) vivid; urgency=low
336+
337+ * Add Ubuntu FAN support. (LP: #1439706)
338+
339+ -- Andy Whitcroft <apw@ubuntu.com> Tue, 24 Feb 2015 14:45:19 +0000
340+
341 iproute2 (3.16.0-2) unstable; urgency=medium
342
343 * Cherry-pick upstream commit f1b66ff8
344@@ -1453,6 +1725,3 @@ iproute (961225-1) unstable; urgency=low
345
346 -- Tom Lees <tom@lpsg.demon.co.uk> Mon, 30 Dec 1996 11:12:23 +0000
347
348-Local variables:
349-mode: debian-changelog
350-End:
351diff --git a/debian/control b/debian/control
352index c042a1b..e24afa8 100644
353--- a/debian/control
354+++ b/debian/control
355@@ -1,7 +1,8 @@
356 Source: iproute2
357 Section: net
358 Priority: optional
359-Maintainer: Alexander Wirt <formorer@debian.org>
360+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
361+XSBC-Original-Maintainer: Alexander Wirt <formorer@debian.org>
362 Uploaders: Luca Boccassi <bluca@debian.org>
363 Homepage: https://wiki.linuxfoundation.org/networking/iproute2
364 Vcs-Browser: https://salsa.debian.org/debian/iproute2.git
365diff --git a/debian/patches/0001-Add-moo-feature.patch b/debian/patches/0001-Add-moo-feature.patch
366deleted file mode 100644
367index b046590..0000000
368--- a/debian/patches/0001-Add-moo-feature.patch
369+++ /dev/null
370@@ -1,39 +0,0 @@
371-From: Alexander Wirt <formorer@debian.org>
372-Date: Mon, 10 Jun 2013 11:47:00 +0200
373-Subject: Add moo feature
374-
375----
376- ip/ip.c | 15 +++++++++++++++
377- 1 file changed, 15 insertions(+)
378-
379---- a/ip/ip.c
380-+++ b/ip/ip.c
381-@@ -69,6 +69,20 @@ static int do_help(int argc, char **argv
382- return 0;
383- }
384-
385-+static int do_moo(int argc, char **argv)
386-+{
387-+
388-+fprintf(stderr,
389-+"\n"
390-+" _ __ ___ ___ ___\n"
391-+"| '_ ` _ \\ / _ \\ / _ \\\n"
392-+"| | | | | | (_) | (_) |\n"
393-+"|_| |_| |_|\\___/ \\___/\n"
394-+"\n\n"
395-+"P.S. no real cows were harmed for this moo\n");
396-+ exit(1);
397-+}
398-+
399- static const struct cmd {
400- const char *cmd;
401- int (*func)(int argc, char **argv);
402-@@ -103,6 +117,7 @@ static const struct cmd {
403- { "vrf", do_ipvrf},
404- { "sr", do_seg6 },
405- { "help", do_help },
406-+ { "moo", do_moo },
407- { 0 }
408- };
409-
410diff --git a/debian/patches/1000-ubuntu-poc-fan-driver.patch b/debian/patches/1000-ubuntu-poc-fan-driver.patch
411new file mode 100644
412index 0000000..f3aaec2
413--- /dev/null
414+++ b/debian/patches/1000-ubuntu-poc-fan-driver.patch
415@@ -0,0 +1,74 @@
416+Description: POC fan driver support
417+ POC Fan driver support
418+Author: Jay Vosburgh <jay.vosburgh@canonical.com>
419+
420+Index: iproute2/ip/link_iptnl.c
421+===================================================================
422+--- iproute2.orig/ip/link_iptnl.c
423++++ iproute2/ip/link_iptnl.c
424+@@ -91,6 +91,7 @@ static int iptunnel_parse_opt(struct lin
425+ struct rtattr *iptuninfo[IFLA_IPTUN_MAX + 1];
426+ int len;
427+ inet_prefix saddr, daddr, ip6rdprefix, ip6rdrelayprefix;
428++ inet_prefix underlay;
429+ __u8 pmtudisc = 1;
430+ __u8 tos = 0;
431+ __u16 iflags = 0;
432+@@ -106,6 +107,7 @@ static int iptunnel_parse_opt(struct lin
433+
434+ inet_prefix_reset(&saddr);
435+ inet_prefix_reset(&daddr);
436++ inet_prefix_reset(&underlay);
437+
438+ inet_prefix_reset(&ip6rdprefix);
439+ inet_prefix_reset(&ip6rdrelayprefix);
440+@@ -219,6 +221,9 @@ get_failed:
441+ } else if (strcmp(*argv, "remote") == 0) {
442+ NEXT_ARG();
443+ get_addr(&daddr, *argv, AF_INET);
444++ } else if (strcmp(*argv, "underlay") == 0) {
445++ NEXT_ARG();
446++ get_addr(&underlay, *argv, AF_INET);
447+ } else if (strcmp(*argv, "local") == 0) {
448+ NEXT_ARG();
449+ get_addr(&saddr, *argv, AF_INET);
450+@@ -360,6 +365,10 @@ get_failed:
451+ }
452+ }
453+
454++ if (is_addrtype_inet(&underlay))
455++ addattr_l(n, 1024, IFLA_IPTUN_FAN_UNDERLAY,
456++ underlay.data, underlay.bytelen);
457++
458+ return 0;
459+ }
460+
461+@@ -398,6 +407,14 @@ static void iptunnel_print_opt(struct li
462+ tnl_print_endpoint("remote", tb[IFLA_IPTUN_REMOTE], AF_INET);
463+ tnl_print_endpoint("local", tb[IFLA_IPTUN_LOCAL], AF_INET);
464+
465++ if (tb[IFLA_IPTUN_FAN_UNDERLAY]) {
466++ inet_prefix addr;
467++
468++ if(!get_addr_rta(&addr, tb[IFLA_IPTUN_FAN_UNDERLAY], AF_INET))
469++ print_string(PRINT_ANY, "underlay", "underlay %s ",
470++ format_host(AF_INET, addr.bytelen, addr.data));
471++ }
472++
473+ if (tb[IFLA_IPTUN_LINK]) {
474+ __u32 link = rta_getattr_u32(tb[IFLA_IPTUN_LINK]);
475+
476+Index: iproute2/include/uapi/linux/if_tunnel.h
477+===================================================================
478+--- iproute2.orig/include/uapi/linux/if_tunnel.h
479++++ iproute2/include/uapi/linux/if_tunnel.h
480+@@ -77,6 +77,9 @@ enum {
481+ IFLA_IPTUN_ENCAP_DPORT,
482+ IFLA_IPTUN_COLLECT_METADATA,
483+ IFLA_IPTUN_FWMARK,
484++
485++ IFLA_IPTUN_FAN_UNDERLAY = 32,
486++
487+ __IFLA_IPTUN_MAX,
488+ };
489+ #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
490diff --git a/debian/patches/1001-ubuntu-poc-fan-driver-v3.patch b/debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
491new file mode 100644
492index 0000000..d12b88e
493--- /dev/null
494+++ b/debian/patches/1001-ubuntu-poc-fan-driver-v3.patch
495@@ -0,0 +1,134 @@
496+Description: Fan driver support v3
497+ Fan driver support v3
498+Author: Jay Vosburgh <jay.vosburgh@canonical.com>
499+Index: iproute2/include/uapi/linux/if_tunnel.h
500+===================================================================
501+--- iproute2.orig/include/uapi/linux/if_tunnel.h
502++++ iproute2/include/uapi/linux/if_tunnel.h
503+@@ -79,6 +79,7 @@ enum {
504+ IFLA_IPTUN_FWMARK,
505+
506+ IFLA_IPTUN_FAN_UNDERLAY = 32,
507++ IFLA_IPTUN_FAN_MAP = 33,
508+
509+ __IFLA_IPTUN_MAX,
510+ };
511+@@ -164,6 +165,21 @@ enum {
512+
513+ #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1)
514+
515++enum {
516++ IFLA_FAN_UNSPEC,
517++ IFLA_FAN_MAPPING,
518++ __IFLA_FAN_MAX,
519++};
520++
521++#define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1)
522++
523++struct ip_tunnel_fan_map {
524++ __be32 underlay;
525++ __be32 overlay;
526++ __u16 underlay_prefix;
527++ __u16 overlay_prefix;
528++};
529++
530+ #define TUNNEL_CSUM __cpu_to_be16(0x01)
531+ #define TUNNEL_ROUTING __cpu_to_be16(0x02)
532+ #define TUNNEL_KEY __cpu_to_be16(0x04)
533+Index: iproute2/ip/link_iptnl.c
534+===================================================================
535+--- iproute2.orig/ip/link_iptnl.c
536++++ iproute2/ip/link_iptnl.c
537+@@ -70,6 +70,42 @@ static void iptunnel_print_help(struct l
538+ " MARK := { 0x0..0xffffffff }\n"
539+ );
540+ }
541++static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n)
542++{
543++ inet_prefix underlay, overlay;
544++ struct ip_tunnel_fan_map map;
545++ struct rtattr *nest;
546++ char **argv = *argvp;
547++ int argc = *argcp;
548++
549++ nest = addattr_nest(n, 1024, IFLA_IPTUN_FAN_MAP);
550++ while (argc > 0) {
551++ char *colon = strchr(*argv, ':');
552++
553++ if (!colon)
554++ break;
555++ *colon = '\0';
556++
557++ if (get_prefix(&overlay, *argv, AF_INET))
558++ invarg("invalid fan-map overlay", *argv);
559++ if (get_prefix(&underlay, colon + 1, AF_INET))
560++ invarg("invalid fan-map underlay", colon + 1);
561++
562++ memcpy(&map.underlay, underlay.data, 4);
563++ map.underlay_prefix = underlay.bitlen;
564++ memcpy(&map.overlay, overlay.data, 4);
565++ map.overlay_prefix = overlay.bitlen;
566++
567++ argc--, argv++;
568++
569++ addattr_l(n, 1024, IFLA_FAN_MAPPING, &map, sizeof(map));
570++ }
571++ addattr_nest_end(n, nest);
572++
573++ *argcp = argc;
574++ *argvp = argv;
575++ return 0;
576++}
577+
578+ static int iptunnel_parse_opt(struct link_util *lu, int argc, char **argv,
579+ struct nlmsghdr *n)
580+@@ -224,6 +260,10 @@ get_failed:
581+ } else if (strcmp(*argv, "underlay") == 0) {
582+ NEXT_ARG();
583+ get_addr(&underlay, *argv, AF_INET);
584++ } else if (strcmp(*argv, "fan-map") == 0) {
585++ NEXT_ARG();
586++ if (fan_parse_map(&argc, &argv, n))
587++ invarg("invalid fan-map", *argv);
588+ } else if (strcmp(*argv, "local") == 0) {
589+ NEXT_ARG();
590+ get_addr(&saddr, *argv, AF_INET);
591+@@ -372,6 +412,28 @@ get_failed:
592+ return 0;
593+ }
594+
595++static void fan_print_map(FILE *f, struct rtattr *attr)
596++{
597++ char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN];
598++ struct ip_tunnel_fan_map *m;
599++ struct rtattr *i;
600++ int rem;
601++ int p;
602++
603++ fprintf(f, "fan-map ");
604++
605++ rem = RTA_PAYLOAD(attr);
606++ for (i = RTA_DATA(attr); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) {
607++ p = RTA_PAYLOAD(i);
608++ m = RTA_DATA(i);
609++ fprintf(f, "%s/%d:%s/%d ",
610++ rt_addr_n2a_r(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
611++ m->overlay_prefix,
612++ rt_addr_n2a_r(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
613++ m->underlay_prefix);
614++ }
615++}
616++
617+ static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
618+ {
619+ char s2[64];
620+@@ -415,6 +477,9 @@ static void iptunnel_print_opt(struct li
621+ format_host(AF_INET, addr.bytelen, addr.data));
622+ }
623+
624++ if (tb[IFLA_IPTUN_FAN_MAP])
625++ fan_print_map(f, tb[IFLA_IPTUN_FAN_MAP]);
626++
627+ if (tb[IFLA_IPTUN_LINK]) {
628+ __u32 link = rta_getattr_u32(tb[IFLA_IPTUN_LINK]);
629+
630diff --git a/debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch b/debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
631new file mode 100644
632index 0000000..b5b3b0c
633--- /dev/null
634+++ b/debian/patches/1002-ubuntu-poc-fan-driver-vxlan.patch
635@@ -0,0 +1,178 @@
636+Description: Fan driver support VXLAN (p4)
637+ Fan driver setup support for vxlan interfaces.
638+
639+Index: iproute2/include/uapi/linux/if_tunnel.h
640+===================================================================
641+--- iproute2.orig/include/uapi/linux/if_tunnel.h
642++++ iproute2/include/uapi/linux/if_tunnel.h
643+@@ -173,7 +173,7 @@ enum {
644+
645+ #define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1)
646+
647+-struct ip_tunnel_fan_map {
648++struct ifla_fan_map {
649+ __be32 underlay;
650+ __be32 overlay;
651+ __u16 underlay_prefix;
652+Index: iproute2/ip/iplink_vxlan.c
653+===================================================================
654+--- iproute2.orig/ip/iplink_vxlan.c
655++++ iproute2/ip/iplink_vxlan.c
656+@@ -15,7 +15,10 @@
657+ #include <net/if.h>
658+ #include <linux/ip.h>
659+ #include <linux/if_link.h>
660++#include <linux/types.h>
661+ #include <arpa/inet.h>
662++#include <linux/in6.h>
663++#include <linux/if_tunnel.h>
664+
665+ #include "rt_names.h"
666+ #include "utils.h"
667+@@ -73,6 +76,45 @@ static void check_duparg(__u64 *attrs, i
668+ duparg2(key, argv);
669+ }
670+
671++static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n)
672++{
673++ inet_prefix underlay, overlay;
674++ struct ifla_fan_map map;
675++ struct rtattr *nest;
676++ char **argv = *argvp;
677++ int argc = *argcp;
678++
679++ nest = addattr_nest(n, 1024, IFLA_VXLAN_FAN_MAP);
680++ while (argc > 0) {
681++ char *colon = strchr(*argv, ':');
682++
683++ if (!colon) {
684++ PREV_ARG();
685++ break;
686++ }
687++ *colon = '\0';
688++
689++ if (get_prefix(&overlay, *argv, AF_INET))
690++ invarg("invalid fan-map overlay", *argv);
691++ if (get_prefix(&underlay, colon + 1, AF_INET))
692++ invarg("invalid fan-map underlay", colon + 1);
693++
694++ memcpy(&map.underlay, underlay.data, 4);
695++ map.underlay_prefix = underlay.bitlen;
696++ memcpy(&map.overlay, overlay.data, 4);
697++ map.overlay_prefix = overlay.bitlen;
698++
699++ argc--, argv++;
700++
701++ addattr_l(n, 1024, IFLA_FAN_MAPPING, &map, sizeof(map));
702++ }
703++ addattr_nest_end(n, nest);
704++
705++ *argcp = argc;
706++ *argvp = argv;
707++ return 0;
708++}
709++
710+ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv,
711+ struct nlmsghdr *n)
712+ {
713+@@ -330,6 +372,11 @@ static int vxlan_parse_opt(struct link_u
714+ } else if (!matches(*argv, "gpe")) {
715+ check_duparg(&attrs, IFLA_VXLAN_GPE, *argv, *argv);
716+ addattr_l(n, 1024, IFLA_VXLAN_GPE, NULL, 0);
717++ } else if (!matches(*argv, "fan-map")) {
718++ check_duparg(&attrs, IFLA_VXLAN_FAN_MAP, *argv, *argv);
719++ NEXT_ARG();
720++ if (fan_parse_map(&argc, &argv, n))
721++ invarg("invalid fan-map", *argv);
722+ } else if (matches(*argv, "help") == 0) {
723+ explain();
724+ return -1;
725+@@ -406,6 +453,28 @@ static int vxlan_parse_opt(struct link_u
726+ return 0;
727+ }
728+
729++static void fan_print_map(FILE *f, struct rtattr *attr)
730++{
731++ char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN];
732++ struct ifla_fan_map *m;
733++ struct rtattr *i;
734++ int rem;
735++ int p;
736++
737++ fprintf(f, "fan-map ");
738++
739++ rem = RTA_PAYLOAD(attr);
740++ for (i = RTA_DATA(attr); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) {
741++ p = RTA_PAYLOAD(i);
742++ m = RTA_DATA(i);
743++ fprintf(f, "%s/%d:%s/%d ",
744++ rt_addr_n2a_r(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
745++ m->overlay_prefix,
746++ rt_addr_n2a_r(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
747++ m->underlay_prefix);
748++ }
749++}
750++
751+ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
752+ {
753+ __u32 vni;
754+@@ -466,6 +535,9 @@ static void vxlan_print_opt(struct link_
755+ }
756+ }
757+
758++ if (tb[IFLA_VXLAN_FAN_MAP])
759++ fan_print_map(f, tb[IFLA_VXLAN_FAN_MAP]);
760++
761+ if (tb[IFLA_VXLAN_LOCAL]) {
762+ __be32 addr = rta_getattr_u32(tb[IFLA_VXLAN_LOCAL]);
763+
764+Index: iproute2/ip/link_iptnl.c
765+===================================================================
766+--- iproute2.orig/ip/link_iptnl.c
767++++ iproute2/ip/link_iptnl.c
768+@@ -70,10 +70,11 @@ static void iptunnel_print_help(struct l
769+ " MARK := { 0x0..0xffffffff }\n"
770+ );
771+ }
772++
773+ static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n)
774+ {
775+ inet_prefix underlay, overlay;
776+- struct ip_tunnel_fan_map map;
777++ struct ifla_fan_map map;
778+ struct rtattr *nest;
779+ char **argv = *argvp;
780+ int argc = *argcp;
781+@@ -82,8 +83,10 @@ static int fan_parse_map(int *argcp, cha
782+ while (argc > 0) {
783+ char *colon = strchr(*argv, ':');
784+
785+- if (!colon)
786++ if (!colon) {
787++ PREV_ARG();
788+ break;
789++ }
790+ *colon = '\0';
791+
792+ if (get_prefix(&overlay, *argv, AF_INET))
793+@@ -415,7 +418,7 @@ get_failed:
794+ static void fan_print_map(FILE *f, struct rtattr *attr)
795+ {
796+ char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN];
797+- struct ip_tunnel_fan_map *m;
798++ struct ifla_fan_map *m;
799+ struct rtattr *i;
800+ int rem;
801+ int p;
802+Index: iproute2/include/uapi/linux/if_link.h
803+===================================================================
804+--- iproute2.orig/include/uapi/linux/if_link.h
805++++ iproute2/include/uapi/linux/if_link.h
806+@@ -533,6 +533,7 @@ enum {
807+ IFLA_VXLAN_GPE,
808+ IFLA_VXLAN_TTL_INHERIT,
809+ IFLA_VXLAN_DF,
810++ IFLA_VXLAN_FAN_MAP = 33,
811+ __IFLA_VXLAN_MAX
812+ };
813+ #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
814diff --git a/debian/patches/series b/debian/patches/series
815index 7616c7e..3ef0f04 100644
816--- a/debian/patches/series
817+++ b/debian/patches/series
818@@ -1,2 +1,8 @@
819-0001-Add-moo-feature.patch
820 0004-sync-iptables-header.patch
821+
822+
823+
824+1000-ubuntu-poc-fan-driver.patch
825+1001-ubuntu-poc-fan-driver-v3.patch
826+1002-ubuntu-poc-fan-driver-vxlan.patch
827+

Subscribers

People subscribed via source and target branches