From 593c2b7cecf0a5c27e544893bf9ab2382b319d3e Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Mon, 16 Jun 2008 12:42:36 +0000 Subject: [PATCH] fix libnl compile with older kernels SVN-Revision: 11499 --- package/libnl/patches/120-add_if_vlan.h.patch | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 package/libnl/patches/120-add_if_vlan.h.patch diff --git a/package/libnl/patches/120-add_if_vlan.h.patch b/package/libnl/patches/120-add_if_vlan.h.patch new file mode 100644 index 0000000000..09124d6075 --- /dev/null +++ b/package/libnl/patches/120-add_if_vlan.h.patch @@ -0,0 +1,80 @@ +From: Patrick McHardy +Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100) +Subject: [LIBNL]: Add if_vlan.h +X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958 + +[LIBNL]: Add if_vlan.h + +vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in +older if_vlan.h versions. Add the current version from the kernel. + +Signed-off-by: Patrick McHardy +--- + +diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h +new file mode 100644 +index 0000000..068cd7b +--- /dev/null ++++ b/include/linux/if_vlan.h +@@ -0,0 +1,61 @@ ++/* ++ * VLAN An implementation of 802.1Q VLAN tagging. ++ * ++ * Authors: Ben Greear ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version ++ * 2 of the License, or (at your option) any later version. ++ * ++ */ ++ ++#ifndef _LINUX_IF_VLAN_H_ ++#define _LINUX_IF_VLAN_H_ ++ ++ ++/* VLAN IOCTLs are found in sockios.h */ ++ ++/* Passed in vlan_ioctl_args structure to determine behaviour. */ ++enum vlan_ioctl_cmds { ++ ADD_VLAN_CMD, ++ DEL_VLAN_CMD, ++ SET_VLAN_INGRESS_PRIORITY_CMD, ++ SET_VLAN_EGRESS_PRIORITY_CMD, ++ GET_VLAN_INGRESS_PRIORITY_CMD, ++ GET_VLAN_EGRESS_PRIORITY_CMD, ++ SET_VLAN_NAME_TYPE_CMD, ++ SET_VLAN_FLAG_CMD, ++ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */ ++ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */ ++}; ++ ++enum vlan_flags { ++ VLAN_FLAG_REORDER_HDR = 0x1, ++}; ++ ++enum vlan_name_types { ++ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */ ++ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */ ++ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */ ++ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */ ++ VLAN_NAME_TYPE_HIGHEST ++}; ++ ++struct vlan_ioctl_args { ++ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */ ++ char device1[24]; ++ ++ union { ++ char device2[24]; ++ int VID; ++ unsigned int skb_priority; ++ unsigned int name_type; ++ unsigned int bind_type; ++ unsigned int flag; /* Matches vlan_dev_info flags */ ++ } u; ++ ++ short vlan_qos; ++}; ++ ++#endif /* !(_LINUX_IF_VLAN_H_) */