summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@higgsboson.tk>2017-01-01 05:13:46 +0100
committerJörg Thalheim <joerg@higgsboson.tk>2017-01-01 05:17:53 +0100
commit0d5a5307bee0c9fd303b1cda9473808797d84eeb (patch)
treec1f292e74e390b95b790ba922e819589a18c5487 /pkgs/os-specific
parent61027b7fcea9aef25b5a61700ccb21788365645f (diff)
downloadnixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.tar
nixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.tar.gz
nixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.tar.bz2
nixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.tar.lz
nixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.tar.xz
nixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.tar.zst
nixlib-0d5a5307bee0c9fd303b1cda9473808797d84eeb.zip
iproute: remove broken fan patch
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch65
-rw-r--r--pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch133
-rw-r--r--pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch177
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix12
4 files changed, 1 insertions, 386 deletions
diff --git a/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch b/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch
deleted file mode 100644
index e0c8278d488d..000000000000
--- a/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Description: POC fan driver support
- POC Fan driver support
-Author: Jay Vosburgh <jay.vosburgh@canonical.com>
-
-Index: iproute2-4.1.1/include/linux/if_tunnel.h
-===================================================================
---- iproute2-4.1.1.orig/include/linux/if_tunnel.h
-+++ iproute2-4.1.1/include/linux/if_tunnel.h
-@@ -57,6 +57,9 @@ enum {
- 	IFLA_IPTUN_ENCAP_FLAGS,
- 	IFLA_IPTUN_ENCAP_SPORT,
- 	IFLA_IPTUN_ENCAP_DPORT,
-+
-+	IFLA_IPTUN_FAN_UNDERLAY = 32,
-+
- 	__IFLA_IPTUN_MAX,
- };
- #define IFLA_IPTUN_MAX	(__IFLA_IPTUN_MAX - 1)
-Index: iproute2-4.1.1/ip/link_iptnl.c
-===================================================================
---- iproute2-4.1.1.orig/ip/link_iptnl.c
-+++ iproute2-4.1.1/ip/link_iptnl.c
-@@ -66,6 +66,7 @@ static int iptunnel_parse_opt(struct lin
- 	__u32 link = 0;
- 	__u32 laddr = 0;
- 	__u32 raddr = 0;
-+	__u32 underlay = 0;
- 	__u8 ttl = 0;
- 	__u8 tos = 0;
- 	__u8 pmtudisc = 1;
-@@ -174,6 +175,9 @@ get_failed:
- 				raddr = get_addr32(*argv);
- 			else
- 				raddr = 0;
-+		} else if (strcmp(*argv, "underlay") == 0) {
-+			NEXT_ARG();
-+			underlay = get_addr32(*argv);
- 		} else if (strcmp(*argv, "local") == 0) {
- 			NEXT_ARG();
- 			if (strcmp(*argv, "any"))
-@@ -318,6 +322,9 @@ get_failed:
- 		}
- 	}
- 
-+	if (underlay)
-+		addattr32(n, 1024, IFLA_IPTUN_FAN_UNDERLAY, underlay);
-+
- 	return 0;
- }
- 
-@@ -349,6 +356,14 @@ static void iptunnel_print_opt(struct li
- 
- 	fprintf(f, "local %s ", local);
- 
-+	if (tb[IFLA_IPTUN_FAN_UNDERLAY]) {
-+		unsigned addr = rta_getattr_u32(tb[IFLA_IPTUN_FAN_UNDERLAY]);
-+
-+		if (addr)
-+			fprintf(f, "underlay %s ",
-+				format_host_r(AF_INET, 4, &addr, s1, sizeof(s1)));
-+	}
-+
- 	if (tb[IFLA_IPTUN_LINK] && rta_getattr_u32(tb[IFLA_IPTUN_LINK])) {
- 		unsigned link = rta_getattr_u32(tb[IFLA_IPTUN_LINK]);
- 		const char *n = if_indextoname(link, s2);
diff --git a/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch b/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch
deleted file mode 100644
index 634daa0de29f..000000000000
--- a/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Description: Fan driver support v3
- Fan driver support v3
-Author: Jay Vosburgh <jay.vosburgh@canonical.com>
-Index: iproute2-4.1.1/include/linux/if_tunnel.h
-===================================================================
---- iproute2-4.1.1.orig/include/linux/if_tunnel.h
-+++ iproute2-4.1.1/include/linux/if_tunnel.h
-@@ -59,6 +59,7 @@ enum {
- 	IFLA_IPTUN_ENCAP_DPORT,
- 
- 	IFLA_IPTUN_FAN_UNDERLAY = 32,
-+	IFLA_IPTUN_FAN_MAP = 33,
- 
- 	__IFLA_IPTUN_MAX,
- };
-@@ -134,4 +135,20 @@ enum {
- };
- 
- #define IFLA_VTI_MAX	(__IFLA_VTI_MAX - 1)
-+
-+enum {
-+	IFLA_FAN_UNSPEC,
-+	IFLA_FAN_MAPPING,
-+	__IFLA_FAN_MAX,
-+};
-+
-+#define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1)
-+
-+struct ip_tunnel_fan_map {
-+	__be32		underlay;
-+	__be32		overlay;
-+	__u16		underlay_prefix;
-+	__u16		overlay_prefix;
-+};
-+
- #endif /* _IF_TUNNEL_H_ */
-Index: iproute2-4.1.1/ip/link_iptnl.c
-===================================================================
---- iproute2-4.1.1.orig/ip/link_iptnl.c
-+++ iproute2-4.1.1/ip/link_iptnl.c
-@@ -49,6 +49,42 @@ static void usage(int sit)
- 	print_usage(stderr, sit);
- 	exit(-1);
- }
-+static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n)
-+{
-+	inet_prefix underlay, overlay;
-+	struct ip_tunnel_fan_map map;
-+	struct rtattr *nest;
-+	char **argv = *argvp;
-+	int argc = *argcp;
-+
-+	nest = addattr_nest(n, 1024, IFLA_IPTUN_FAN_MAP);
-+	while (argc > 0) {
-+		char *colon = strchr(*argv, ':');
-+
-+		if (!colon)
-+			break;
-+		*colon = '\0';
-+
-+		if (get_prefix(&overlay, *argv, AF_INET))
-+			invarg("invalid fan-map overlay", *argv);
-+		if (get_prefix(&underlay, colon + 1, AF_INET))
-+			invarg("invalid fan-map underlay", colon + 1);
-+		
-+		memcpy(&map.underlay, underlay.data, 4);
-+		map.underlay_prefix = underlay.bitlen;
-+		memcpy(&map.overlay, overlay.data, 4);
-+		map.overlay_prefix = overlay.bitlen;
-+
-+		argc--, argv++;
-+
-+		addattr_l(n, 1024, IFLA_FAN_MAPPING, &map, sizeof(map));
-+	}
-+	addattr_nest_end(n, nest);
-+
-+	*argcp = argc;
-+	*argvp = argv;
-+	return 0;
-+}
- 
- static int iptunnel_parse_opt(struct link_util *lu, int argc, char **argv,
- 			      struct nlmsghdr *n)
-@@ -178,6 +214,10 @@ get_failed:
- 		} else if (strcmp(*argv, "underlay") == 0) {
- 			NEXT_ARG();
- 			underlay = get_addr32(*argv);
-+		} else if (strcmp(*argv, "fan-map") == 0) {
-+			NEXT_ARG();
-+			if (fan_parse_map(&argc, &argv, n))
-+				invarg("invalid fan-map", *argv);
- 		} else if (strcmp(*argv, "local") == 0) {
- 			NEXT_ARG();
- 			if (strcmp(*argv, "any"))
-@@ -328,6 +368,28 @@ get_failed:
- 	return 0;
- }
- 
-+static void fan_print_map(FILE *f, struct rtattr *attr)
-+{
-+	char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN];
-+	struct ip_tunnel_fan_map *m;
-+	struct rtattr *i;
-+	int rem;
-+	int p;
-+
-+	fprintf(f, "fan-map ");
-+
-+	rem = RTA_PAYLOAD(attr);
-+	for (i = RTA_DATA(attr); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) {
-+		p = RTA_PAYLOAD(i);
-+		m = RTA_DATA(i);
-+		fprintf(f, "%s/%d:%s/%d ",
-+			rt_addr_n2a_r(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
-+			m->overlay_prefix,
-+			rt_addr_n2a_r(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
-+			m->underlay_prefix);
-+	}
-+}
-+
- static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
- {
- 	char s1[1024];
-@@ -364,6 +426,9 @@ static void iptunnel_print_opt(struct li
- 				format_host(AF_INET, 4, &addr, s1, sizeof(s1)));
- 	}
- 
-+	if (tb[IFLA_IPTUN_FAN_MAP])
-+		fan_print_map(f, tb[IFLA_IPTUN_FAN_MAP]);
-+
- 	if (tb[IFLA_IPTUN_LINK] && rta_getattr_u32(tb[IFLA_IPTUN_LINK])) {
- 		unsigned link = rta_getattr_u32(tb[IFLA_IPTUN_LINK]);
- 		const char *n = if_indextoname(link, s2);
diff --git a/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch b/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch
deleted file mode 100644
index 070023d0b923..000000000000
--- a/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-Description: Fan driver support VXLAN (p4)
- Fan driver setup support for vxlan interfaces.
-
-Index: iproute2-4.3.0/include/linux/if_link.h
-===================================================================
---- iproute2-4.3.0.orig/include/linux/if_link.h
-+++ iproute2-4.3.0/include/linux/if_link.h
-@@ -392,6 +392,7 @@ enum {
- 	IFLA_VXLAN_COLLECT_METADATA,
- 	IFLA_VXLAN_LABEL,
- 	IFLA_VXLAN_GPE,
-+	IFLA_VXLAN_FAN_MAP = 33,
- 	__IFLA_VXLAN_MAX
- };
- #define IFLA_VXLAN_MAX	(__IFLA_VXLAN_MAX - 1)
-Index: iproute2-4.3.0/include/linux/if_tunnel.h
-===================================================================
---- iproute2-4.3.0.orig/include/linux/if_tunnel.h
-+++ iproute2-4.3.0/include/linux/if_tunnel.h
-@@ -145,7 +145,7 @@ enum {
- 
- #define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1)
- 
--struct ip_tunnel_fan_map {
-+struct ifla_fan_map {
- 	__be32		underlay;
- 	__be32		overlay;
- 	__u16		underlay_prefix;
-Index: iproute2-4.3.0/ip/iplink_vxlan.c
-===================================================================
---- iproute2-4.3.0.orig/ip/iplink_vxlan.c
-+++ iproute2-4.3.0/ip/iplink_vxlan.c
-@@ -15,7 +15,10 @@
- #include <net/if.h>
- #include <linux/ip.h>
- #include <linux/if_link.h>
-+#include <linux/types.h>
- #include <arpa/inet.h>
-+#include <linux/in6.h>
-+#include <linux/if_tunnel.h>
- 
- #include "rt_names.h"
- #include "utils.h"
-@@ -43,6 +46,45 @@ static void explain(void)
- 	print_explain(stderr);
- }
- 
-+static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n)
-+{
-+	inet_prefix underlay, overlay;
-+	struct ifla_fan_map map;
-+	struct rtattr *nest;
-+	char **argv = *argvp;
-+	int argc = *argcp;
-+
-+	nest = addattr_nest(n, 1024, IFLA_VXLAN_FAN_MAP);
-+	while (argc > 0) {
-+		char *colon = strchr(*argv, ':');
-+
-+		if (!colon) {
-+			PREV_ARG();
-+			break;
-+		}
-+		*colon = '\0';
-+
-+		if (get_prefix(&overlay, *argv, AF_INET))
-+			invarg("invalid fan-map overlay", *argv);
-+		if (get_prefix(&underlay, colon + 1, AF_INET))
-+			invarg("invalid fan-map underlay", colon + 1);
-+
-+		memcpy(&map.underlay, underlay.data, 4);
-+		map.underlay_prefix = underlay.bitlen;
-+		memcpy(&map.overlay, overlay.data, 4);
-+		map.overlay_prefix = overlay.bitlen;
-+
-+		argc--, argv++;
-+
-+		addattr_l(n, 1024, IFLA_FAN_MAPPING, &map, sizeof(map));
-+	}
-+	addattr_nest_end(n, nest);
-+
-+	*argcp = argc;
-+	*argvp = argv;
-+	return 0;
-+}
-+
- static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv,
- 			  struct nlmsghdr *n)
- {
-@@ -201,6 +243,10 @@ static int vxlan_parse_opt(struct link_u
- 			gbp = 1;
- 		} else if (!matches(*argv, "gpe")) {
- 			gpe = 1;
-+		} else if (!matches(*argv, "fan-map")) {
-+			NEXT_ARG();
-+			if (fan_parse_map(&argc, &argv, n))
-+				invarg("invalid fan-map", *argv);
- 		} else if (matches(*argv, "help") == 0) {
- 			explain();
- 			return -1;
-@@ -279,6 +325,28 @@ static int vxlan_parse_opt(struct link_u
- 	return 0;
- }
- 
-+static void fan_print_map(FILE *f, struct rtattr *attr)
-+{
-+	char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN];
-+	struct ifla_fan_map *m;
-+	struct rtattr *i;
-+	int rem;
-+	int p;
-+
-+	fprintf(f, "fan-map ");
-+
-+	rem = RTA_PAYLOAD(attr);
-+	for (i = RTA_DATA(attr); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) {
-+		p = RTA_PAYLOAD(i);
-+		m = RTA_DATA(i);
-+		fprintf(f, "%s/%d:%s/%d ",
-+			rt_addr_n2a_r(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
-+			m->overlay_prefix,
-+			rt_addr_n2a_r(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
-+			m->underlay_prefix);
-+	}
-+}
-+
- static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
- {
- 	__u32 vni;
-@@ -321,6 +389,9 @@ static void vxlan_print_opt(struct link_
- 		}
- 	}
- 
-+	if (tb[IFLA_VXLAN_FAN_MAP])
-+		fan_print_map(f, tb[IFLA_VXLAN_FAN_MAP]);
-+
- 	if (tb[IFLA_VXLAN_LOCAL]) {
- 		__be32 addr = rta_getattr_u32(tb[IFLA_VXLAN_LOCAL]);
- 		if (addr)
-Index: iproute2-4.3.0/ip/link_iptnl.c
-===================================================================
---- iproute2-4.3.0.orig/ip/link_iptnl.c
-+++ iproute2-4.3.0/ip/link_iptnl.c
-@@ -49,10 +49,11 @@ static void usage(int sit)
- 	print_usage(stderr, sit);
- 	exit(-1);
- }
-+
- static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n)
- {
- 	inet_prefix underlay, overlay;
--	struct ip_tunnel_fan_map map;
-+	struct ifla_fan_map map;
- 	struct rtattr *nest;
- 	char **argv = *argvp;
- 	int argc = *argcp;
-@@ -61,8 +62,10 @@ static int fan_parse_map(int *argcp, cha
- 	while (argc > 0) {
- 		char *colon = strchr(*argv, ':');
- 
--		if (!colon)
-+		if (!colon) {
-+			PREV_ARG();
- 			break;
-+		}
- 		*colon = '\0';
- 
- 		if (get_prefix(&overlay, *argv, AF_INET))
-@@ -371,7 +374,7 @@ get_failed:
- static void fan_print_map(FILE *f, struct rtattr *attr)
- {
- 	char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN];
--	struct ip_tunnel_fan_map *m;
-+	struct ifla_fan_map *m;
- 	struct rtattr *i;
- 	int rem;
- 	int p;
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 1ff68fc04080..aab2ecbcab98 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,6 +1,4 @@
-{ fetchurl, stdenv, lib, flex, bison, db, iptables, pkgconfig
-, enableFan ? false
-}:
+{ fetchurl, stdenv, lib, flex, bison, db, iptables, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "iproute2-${version}";
@@ -11,14 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "1i0n071hiqxw1gisngw2jln3kcp9sh47n6fj5hdwqrvp7w20zwy0";
   };
 
-  patches = lib.optionals enableFan [
-    # These patches were pulled from:
-    # https://launchpad.net/ubuntu/xenial/+source/iproute2
-    ./1000-ubuntu-poc-fan-driver.patch
-    ./1001-ubuntu-poc-fan-driver-v3.patch
-    ./1002-ubuntu-poc-fan-driver-vxlan.patch
-  ];
-
   preConfigure = ''
     patchShebangs ./configure
     sed -e '/ARPDDIR/d' -i Makefile