]> git.proxmox.com Git - pve-kernel-jessie.git/commitdiff
updates for new 4.1.3 kernel
authorDietmar Maurer <dietmar@proxmox.com>
Thu, 30 Jul 2015 06:15:17 +0000 (08:15 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 30 Jul 2015 06:39:14 +0000 (08:39 +0200)
Makefile
bridge-vlandrange1.patch [deleted file]
bridge-vlandrange2.patch [deleted file]
bridge-vlandrange3.patch [deleted file]
bridge-vlandrange4.patch [deleted file]
changelog.Debian
find-firmware.pl
ixgbe-4.0.3.tar.gz [deleted file]
ubuntu-vivid.tgz [deleted file]

index deccf6390b5891cce120184906943f714783f35e..12efe1a3da4a440036cc8f4f01beae861d756610 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,13 @@
 RELEASE=4.0
 
-KERNEL_VER=3.19.8
-PKGREL=5
+KERNEL_VER=4.1.3
+PKGREL=6
 # also include firmware of previous versrion into 
 # the fw package:  fwlist-2.6.32-PREV-pve
 KREL=1
 
-KERNELSRCTAR=ubuntu-vivid.tgz
+KERNEL_SRC=ubuntu-wily
+KERNELSRCTAR=${KERNEL_SRC}.tgz
 
 EXTRAVERSION=-${KREL}-pve
 KVNAME=${KERNEL_VER}${EXTRAVERSION}
@@ -18,8 +19,6 @@ GITVERSION:=$(shell cat .git/refs/heads/master)
 
 TOP=$(shell pwd)
 
-KERNEL_SRC=ubuntu-vivid
-
 KERNEL_CFG_ORG=config-${KERNEL_VER}.org
 
 FW_VER=1.1
@@ -30,11 +29,12 @@ FW_DEB=pve-firmware_${FW_VER}-${FW_REL}_all.deb
 #E1000EDIR=e1000e-3.1.0.2
 #E1000ESRC=${E1000EDIR}.tar.gz
 
-IGBDIR=igb-5.2.18
+IGBDIR=igb-5.3.2
 IGBSRC=${IGBDIR}.tar.gz
 
-IXGBEDIR=ixgbe-4.0.3
-IXGBESRC=${IXGBEDIR}.tar.gz
+# does not compile with kernel 4.1
+#IXGBEDIR=ixgbe-4.1.2
+#IXGBESRC=${IXGBEDIR}.tar.gz
 
 # does not compile with kernel 3.19.8
 #I40EDIR=i40e-1.2.38
@@ -100,12 +100,13 @@ ${PVE_DEB} pve: proxmox-ve/control proxmox-ve/postinst
        dpkg-deb --build proxmox-ve/data ${PVE_DEB}
 
 # see https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide
-# changelog: http://kernel.ubuntu.com/git/ubuntu/ubuntu-vivid.git/log/
+# changelog: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/wily/log/
 .PHONY: download
 download:
-       rm -rf ubuntu-vivid  ubuntu-vivid.tgz
-       git clone git://kernel.ubuntu.com/ubuntu/ubuntu-vivid.git
-       tar czf ubuntu-vivid.tgz --exclude .git ubuntu-vivid
+       rm -rf ${KERNEL_SRC} ${KERNELSRCTAR}
+       #git clone git://kernel.ubuntu.com/ubuntu/ubuntu-vivid.git
+       git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/wily ${KERNEL_SRC} 
+       tar czf ${KERNELSRCTAR} --exclude .git ${KERNEL_SRC} 
 
 check_gcc: 
 ifeq    ($(CC), cc)
@@ -137,7 +138,7 @@ fwlist-${KVNAME}: data
        ./find-firmware.pl data/lib/modules/${KVNAME} >fwlist.tmp
        mv fwlist.tmp $@
 
-data: .compile_mark igb.ko ixgbe.ko ${SPL_MODULES} ${ZFS_MODULES} ${DRBD_MODULES}
+data: .compile_mark igb.ko ${SPL_MODULES} ${ZFS_MODULES} ${DRBD_MODULES}
        rm -rf data tmp; mkdir -p tmp/lib/modules/${KVNAME}
        mkdir tmp/boot
        install -m 644 ${KERNEL_SRC}/.config tmp/boot/config-${KVNAME}
@@ -146,8 +147,8 @@ data: .compile_mark igb.ko ixgbe.ko ${SPL_MODULES} ${ZFS_MODULES} ${DRBD_MODULES
        cd ${KERNEL_SRC}; make INSTALL_MOD_PATH=../tmp/ modules_install
        # install latest ibg driver
        install -m 644 igb.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/ethernet/intel/igb/
-       # install latest ixgbe driver
-       install -m 644 ixgbe.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/ethernet/intel/ixgbe/
+       ## install latest ixgbe driver
+       #install -m 644 ixgbe.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/ethernet/intel/ixgbe/
        ## install hpsa driver
        #install -m 644 hpsa.ko tmp/lib/modules/${KVNAME}/kernel/drivers/scsi/
        # install zfs drivers
@@ -201,10 +202,6 @@ ${KERNEL_SRC}/README ${KERNEL_CFG_ORG}: ${KERNELSRCTAR}
        tar xf ${KERNELSRCTAR}
        cat ${KERNEL_SRC}/debian.master/config/config.common.ubuntu ${KERNEL_SRC}/debian.master/config/amd64/config.common.amd64 ${KERNEL_SRC}/debian.master/config/amd64/config.flavour.generic > ${KERNEL_CFG_ORG}
        cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
-       cd ${KERNEL_SRC}; patch -p1 <../bridge-vlandrange1.patch
-       cd ${KERNEL_SRC}; patch -p1 <../bridge-vlandrange2.patch
-       cd ${KERNEL_SRC}; patch -p1 <../bridge-vlandrange3.patch
-       cd ${KERNEL_SRC}; patch -p1 <../bridge-vlandrange4.patch
        #cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
        #cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch
        #cd ${KERNEL_SRC}; patch -p1 <../override_for_missing_acs_capabilities.patch
@@ -359,7 +356,7 @@ dvb-firmware.git/README:
 linux-firmware.git/WHENCE:
        git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git linux-firmware.git
 
-${FW_DEB} fw: control.firmware linux-firmware.git/WHENCE dvb-firmware.git/README changelog.firmware fwlist-2.6.18-2-pve fwlist-2.6.24-12-pve fwlist-2.6.32-3-pve fwlist-2.6.32-4-pve fwlist-2.6.32-6-pve fwlist-2.6.32-13-pve fwlist-2.6.32-14-pve fwlist-2.6.32-20-pve fwlist-2.6.32-21-pve fwlist-3.10.0-3-pve fwlist-3.10.0-7-pve fwlist-3.10.0-8-pve fwlist-${KVNAME}
+${FW_DEB} fw: control.firmware linux-firmware.git/WHENCE dvb-firmware.git/README changelog.firmware fwlist-2.6.18-2-pve fwlist-2.6.24-12-pve fwlist-2.6.32-3-pve fwlist-2.6.32-4-pve fwlist-2.6.32-6-pve fwlist-2.6.32-13-pve fwlist-2.6.32-14-pve fwlist-2.6.32-20-pve fwlist-2.6.32-21-pve fwlist-3.10.0-3-pve fwlist-3.10.0-7-pve fwlist-3.10.0-8-pve fwlist-3.19.8-1-pve fwlist-${KVNAME}
        rm -rf fwdata
        mkdir -p fwdata/lib/firmware
        ./assemble-firmware.pl fwlist-${KVNAME} fwdata/lib/firmware
@@ -376,6 +373,7 @@ ${FW_DEB} fw: control.firmware linux-firmware.git/WHENCE dvb-firmware.git/README
        ./assemble-firmware.pl fwlist-3.10.0-3-pve fwdata/lib/firmware
        ./assemble-firmware.pl fwlist-3.10.0-7-pve fwdata/lib/firmware
        ./assemble-firmware.pl fwlist-3.10.0-8-pve fwdata/lib/firmware
+       ./assemble-firmware.pl fwlist-3.19.8-1-pve fwdata/lib/firmware
        install -d fwdata/usr/share/doc/pve-firmware
        cp linux-firmware.git/WHENCE fwdata/usr/share/doc/pve-firmware/README
        install -d fwdata/usr/share/doc/pve-firmware/licenses
@@ -407,7 +405,7 @@ distclean: clean
 
 .PHONY: clean
 clean:
-       rm -rf *~ .compile_mark ${KERNEL_CFG_ORG} ${KERNEL_SRC} ${KERNEL_SRC}.tmp ${KERNEL_SRC}.org orig tmp data proxmox-ve/data *.deb ${headers_tmp} fwdata fwlist.tmp *.ko fwlist-${KVNAME} ${ZFSDIR} ${SPLDIR} ${SPL_MODULES} ${ZFS_MODULES} hpsa.ko ${HPSADIR} ${DRBDDIR} drbd-9.0 ${IGBDIR} igb.ko ${IXGBEDIR} ixgbe.ko
+       rm -rf *~ .compile_mark ${KERNEL_CFG_ORG} ${KERNEL_SRC} ${KERNEL_SRC}.tmp ${KERNEL_CFG_ORG} ${KERNEL_SRC}.org orig tmp data proxmox-ve/data *.deb ${headers_tmp} fwdata fwlist.tmp *.ko fwlist-${KVNAME} ${ZFSDIR} ${SPLDIR} ${SPL_MODULES} ${ZFS_MODULES} hpsa.ko ${HPSADIR} ${DRBDDIR} drbd-9.0 ${IGBDIR} igb.ko ${IXGBEDIR} ixgbe.ko
 
 
 
diff --git a/bridge-vlandrange1.patch b/bridge-vlandrange1.patch
deleted file mode 100644 (file)
index 11b86bb..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-From bdced7ef7838c1c4aebe9f295e44b7f0dcae2109 Mon Sep 17 00:00:00 2001
-From: Roopa Prabhu <roopa@cumulusnetworks.com>
-Date: Sat, 10 Jan 2015 07:31:12 -0800
-Subject: bridge: support for multiple vlans and vlan ranges in setlink and
- dellink requests
-
-This patch changes bridge IFLA_AF_SPEC netlink attribute parser to
-look for more than one IFLA_BRIDGE_VLAN_INFO attribute. This allows
-userspace to pack more than one vlan in the setlink msg.
-
-The dumps were already sending more than one vlan info in the getlink msg.
-
-This patch also adds bridge_vlan_info flags BRIDGE_VLAN_INFO_RANGE_BEGIN and
-BRIDGE_VLAN_INFO_RANGE_END to indicate start and end of vlan range
-
-This patch also deletes unused ifla_br_policy.
-
-Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-
-diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
-index b03ee8f..eaaea62 100644
---- a/include/uapi/linux/if_bridge.h
-+++ b/include/uapi/linux/if_bridge.h
-@@ -125,6 +125,8 @@ enum {
- #define BRIDGE_VLAN_INFO_MASTER       (1<<0)  /* Operate on Bridge device as well */
- #define BRIDGE_VLAN_INFO_PVID (1<<1)  /* VLAN is PVID, ingress untagged */
- #define BRIDGE_VLAN_INFO_UNTAGGED     (1<<2)  /* VLAN egresses untagged */
-+#define BRIDGE_VLAN_INFO_RANGE_BEGIN  (1<<3) /* VLAN is start of vlan range */
-+#define BRIDGE_VLAN_INFO_RANGE_END    (1<<4) /* VLAN is end of vlan range */
- struct bridge_vlan_info {
-       __u16 flags;
-diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
-index 9f5eb55..6f616a2 100644
---- a/net/bridge/br_netlink.c
-+++ b/net/bridge/br_netlink.c
-@@ -218,57 +218,89 @@ out:
-       return err;
- }
--static const struct nla_policy ifla_br_policy[IFLA_MAX+1] = {
--      [IFLA_BRIDGE_FLAGS]     = { .type = NLA_U16 },
--      [IFLA_BRIDGE_MODE]      = { .type = NLA_U16 },
--      [IFLA_BRIDGE_VLAN_INFO] = { .type = NLA_BINARY,
--                                  .len = sizeof(struct bridge_vlan_info), },
--};
-+static int br_vlan_info(struct net_bridge *br, struct net_bridge_port *p,
-+                      int cmd, struct bridge_vlan_info *vinfo)
-+{
-+      int err = 0;
-+
-+      switch (cmd) {
-+      case RTM_SETLINK:
-+              if (p) {
-+                      err = nbp_vlan_add(p, vinfo->vid, vinfo->flags);
-+                      if (err)
-+                              break;
-+
-+                      if (vinfo->flags & BRIDGE_VLAN_INFO_MASTER)
-+                              err = br_vlan_add(p->br, vinfo->vid,
-+                                                vinfo->flags);
-+              } else {
-+                      err = br_vlan_add(br, vinfo->vid, vinfo->flags);
-+              }
-+              break;
-+
-+      case RTM_DELLINK:
-+              if (p) {
-+                      nbp_vlan_delete(p, vinfo->vid);
-+                      if (vinfo->flags & BRIDGE_VLAN_INFO_MASTER)
-+                              br_vlan_delete(p->br, vinfo->vid);
-+              } else {
-+                      br_vlan_delete(br, vinfo->vid);
-+              }
-+              break;
-+      }
-+
-+      return err;
-+}
- static int br_afspec(struct net_bridge *br,
-                    struct net_bridge_port *p,
-                    struct nlattr *af_spec,
-                    int cmd)
- {
--      struct nlattr *tb[IFLA_BRIDGE_MAX+1];
-+      struct bridge_vlan_info *vinfo_start = NULL;
-+      struct bridge_vlan_info *vinfo = NULL;
-+      struct nlattr *attr;
-       int err = 0;
-+      int rem;
--      err = nla_parse_nested(tb, IFLA_BRIDGE_MAX, af_spec, ifla_br_policy);
--      if (err)
--              return err;
-+      nla_for_each_nested(attr, af_spec, rem) {
-+              if (nla_type(attr) != IFLA_BRIDGE_VLAN_INFO)
-+                      continue;
-+              if (nla_len(attr) != sizeof(struct bridge_vlan_info))
-+                      return -EINVAL;
-+              vinfo = nla_data(attr);
-+              if (vinfo->flags & BRIDGE_VLAN_INFO_RANGE_BEGIN) {
-+                      if (vinfo_start)
-+                              return -EINVAL;
-+                      vinfo_start = vinfo;
-+                      continue;
-+              }
-+
-+              if (vinfo_start) {
-+                      struct bridge_vlan_info tmp_vinfo;
-+                      int v;
--      if (tb[IFLA_BRIDGE_VLAN_INFO]) {
--              struct bridge_vlan_info *vinfo;
-+                      if (!(vinfo->flags & BRIDGE_VLAN_INFO_RANGE_END))
-+                              return -EINVAL;
--              vinfo = nla_data(tb[IFLA_BRIDGE_VLAN_INFO]);
-+                      if (vinfo->vid <= vinfo_start->vid)
-+                              return -EINVAL;
--              if (!vinfo->vid || vinfo->vid >= VLAN_VID_MASK)
--                      return -EINVAL;
-+                      memcpy(&tmp_vinfo, vinfo_start,
-+                             sizeof(struct bridge_vlan_info));
--              switch (cmd) {
--              case RTM_SETLINK:
--                      if (p) {
--                              err = nbp_vlan_add(p, vinfo->vid, vinfo->flags);
-+                      for (v = vinfo_start->vid; v <= vinfo->vid; v++) {
-+                              tmp_vinfo.vid = v;
-+                              err = br_vlan_info(br, p, cmd, &tmp_vinfo);
-                               if (err)
-                                       break;
--
--                              if (vinfo->flags & BRIDGE_VLAN_INFO_MASTER)
--                                      err = br_vlan_add(p->br, vinfo->vid,
--                                                        vinfo->flags);
--                      } else
--                              err = br_vlan_add(br, vinfo->vid, vinfo->flags);
--
--                      break;
--
--              case RTM_DELLINK:
--                      if (p) {
--                              nbp_vlan_delete(p, vinfo->vid);
--                              if (vinfo->flags & BRIDGE_VLAN_INFO_MASTER)
--                                      br_vlan_delete(p->br, vinfo->vid);
--                      } else
--                              br_vlan_delete(br, vinfo->vid);
--                      break;
-+                      }
-+                      vinfo_start = NULL;
-+              } else {
-+                      err = br_vlan_info(br, p, cmd, vinfo);
-               }
-+              if (err)
-+                      break;
-       }
-       return err;
--- 
-cgit v0.10.2
-
diff --git a/bridge-vlandrange2.patch b/bridge-vlandrange2.patch
deleted file mode 100644 (file)
index a4335c4..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 35a27cee321e7c4e7cba3550b2f48c2ca44d8a72 Mon Sep 17 00:00:00 2001
-From: Roopa Prabhu <roopa@cumulusnetworks.com>
-Date: Sat, 10 Jan 2015 07:31:13 -0800
-Subject: rtnetlink: new filter RTEXT_FILTER_BRVLAN_COMPRESSED
-
-This filter is same as RTEXT_FILTER_BRVLAN except that it tries
-to compress the consecutive vlans into ranges.
-
-This helps on systems with large number of configured vlans.
-
-Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-
-diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h
-index d81f22d..a1d1859 100644
---- a/include/uapi/linux/rtnetlink.h
-+++ b/include/uapi/linux/rtnetlink.h
-@@ -636,6 +636,7 @@ struct tcamsg {
- /* New extended info filters for IFLA_EXT_MASK */
- #define RTEXT_FILTER_VF               (1 << 0)
- #define RTEXT_FILTER_BRVLAN   (1 << 1)
-+#define RTEXT_FILTER_BRVLAN_COMPRESSED        (1 << 2)
- /* End of information exported to user level */
--- 
-cgit v0.10.2
-
diff --git a/bridge-vlandrange3.patch b/bridge-vlandrange3.patch
deleted file mode 100644 (file)
index d11f03f..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-From 36cd0ffbab8a65f44ae13fb200bfb5a8f9ea68de Mon Sep 17 00:00:00 2001
-From: Roopa Prabhu <roopa@cumulusnetworks.com>
-Date: Sat, 10 Jan 2015 07:31:14 -0800
-Subject: bridge: new function to pack vlans into ranges during gets
-
-This patch adds new function to pack vlans into ranges
-whereever applicable using the flags BRIDGE_VLAN_INFO_RANGE_BEGIN
-and BRIDGE VLAN_INFO_RANGE_END
-
-Old vlan packing code is moved to a new function and continues to be
-called when filter_mask is RTEXT_FILTER_BRVLAN.
-
-Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-
-diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
-index 6f616a2..0b03879 100644
---- a/net/bridge/br_netlink.c
-+++ b/net/bridge/br_netlink.c
-@@ -67,6 +67,118 @@ static int br_port_fill_attrs(struct sk_buff *skb,
-       return 0;
- }
-+static int br_fill_ifvlaninfo_range(struct sk_buff *skb, u16 vid_start,
-+                                  u16 vid_end, u16 flags)
-+{
-+      struct  bridge_vlan_info vinfo;
-+
-+      if ((vid_end - vid_start) > 0) {
-+              /* add range to skb */
-+              vinfo.vid = vid_start;
-+              vinfo.flags = flags | BRIDGE_VLAN_INFO_RANGE_BEGIN;
-+              if (nla_put(skb, IFLA_BRIDGE_VLAN_INFO,
-+                          sizeof(vinfo), &vinfo))
-+                      goto nla_put_failure;
-+
-+              vinfo.flags &= ~BRIDGE_VLAN_INFO_RANGE_BEGIN;
-+
-+              vinfo.vid = vid_end;
-+              vinfo.flags = flags | BRIDGE_VLAN_INFO_RANGE_END;
-+              if (nla_put(skb, IFLA_BRIDGE_VLAN_INFO,
-+                          sizeof(vinfo), &vinfo))
-+                      goto nla_put_failure;
-+      } else {
-+              vinfo.vid = vid_start;
-+              vinfo.flags = flags;
-+              if (nla_put(skb, IFLA_BRIDGE_VLAN_INFO,
-+                          sizeof(vinfo), &vinfo))
-+                      goto nla_put_failure;
-+      }
-+
-+      return 0;
-+
-+nla_put_failure:
-+      return -EMSGSIZE;
-+}
-+
-+static int br_fill_ifvlaninfo_compressed(struct sk_buff *skb,
-+                                       const struct net_port_vlans *pv)
-+{
-+      u16 vid_range_start = 0, vid_range_end = 0;
-+      u16 vid_range_flags;
-+      u16 pvid, vid, flags;
-+      int err = 0;
-+
-+      /* Pack IFLA_BRIDGE_VLAN_INFO's for every vlan
-+       * and mark vlan info with begin and end flags
-+       * if vlaninfo represents a range
-+       */
-+      pvid = br_get_pvid(pv);
-+      for_each_set_bit(vid, pv->vlan_bitmap, VLAN_N_VID) {
-+              flags = 0;
-+              if (vid == pvid)
-+                      flags |= BRIDGE_VLAN_INFO_PVID;
-+
-+              if (test_bit(vid, pv->untagged_bitmap))
-+                      flags |= BRIDGE_VLAN_INFO_UNTAGGED;
-+
-+              if (vid_range_start == 0) {
-+                      goto initvars;
-+              } else if ((vid - vid_range_end) == 1 &&
-+                      flags == vid_range_flags) {
-+                      vid_range_end = vid;
-+                      continue;
-+              } else {
-+                      err = br_fill_ifvlaninfo_range(skb, vid_range_start,
-+                                                     vid_range_end,
-+                                                     vid_range_flags);
-+                      if (err)
-+                              return err;
-+              }
-+
-+initvars:
-+              vid_range_start = vid;
-+              vid_range_end = vid;
-+              vid_range_flags = flags;
-+      }
-+
-+      /* Call it once more to send any left over vlans */
-+      err = br_fill_ifvlaninfo_range(skb, vid_range_start,
-+                                     vid_range_end,
-+                                     vid_range_flags);
-+      if (err)
-+              return err;
-+
-+      return 0;
-+}
-+
-+static int br_fill_ifvlaninfo(struct sk_buff *skb,
-+                            const struct net_port_vlans *pv)
-+{
-+      struct bridge_vlan_info vinfo;
-+      u16 pvid, vid;
-+
-+      pvid = br_get_pvid(pv);
-+      for_each_set_bit(vid, pv->vlan_bitmap, VLAN_N_VID) {
-+              vinfo.vid = vid;
-+              vinfo.flags = 0;
-+              if (vid == pvid)
-+                      vinfo.flags |= BRIDGE_VLAN_INFO_PVID;
-+
-+              if (test_bit(vid, pv->untagged_bitmap))
-+                      vinfo.flags |= BRIDGE_VLAN_INFO_UNTAGGED;
-+
-+              if (nla_put(skb, IFLA_BRIDGE_VLAN_INFO,
-+                          sizeof(vinfo), &vinfo))
-+                      goto nla_put_failure;
-+      }
-+
-+      return 0;
-+
-+nla_put_failure:
-+      return -EMSGSIZE;
-+}
-+
- /*
-  * Create one netlink message for one interface
-  * Contains port and master info as well as carrier and bridge state.
-@@ -121,12 +233,11 @@ static int br_fill_ifinfo(struct sk_buff *skb,
-       }
-       /* Check if  the VID information is requested */
--      if (filter_mask & RTEXT_FILTER_BRVLAN) {
--              struct nlattr *af;
-+      if ((filter_mask & RTEXT_FILTER_BRVLAN) ||
-+          (filter_mask & RTEXT_FILTER_BRVLAN_COMPRESSED)) {
-               const struct net_port_vlans *pv;
--              struct bridge_vlan_info vinfo;
--              u16 vid;
--              u16 pvid;
-+              struct nlattr *af;
-+              int err;
-               if (port)
-                       pv = nbp_get_vlan_info(port);
-@@ -140,21 +251,12 @@ static int br_fill_ifinfo(struct sk_buff *skb,
-               if (!af)
-                       goto nla_put_failure;
--              pvid = br_get_pvid(pv);
--              for_each_set_bit(vid, pv->vlan_bitmap, VLAN_N_VID) {
--                      vinfo.vid = vid;
--                      vinfo.flags = 0;
--                      if (vid == pvid)
--                              vinfo.flags |= BRIDGE_VLAN_INFO_PVID;
--
--                      if (test_bit(vid, pv->untagged_bitmap))
--                              vinfo.flags |= BRIDGE_VLAN_INFO_UNTAGGED;
--
--                      if (nla_put(skb, IFLA_BRIDGE_VLAN_INFO,
--                                  sizeof(vinfo), &vinfo))
--                              goto nla_put_failure;
--              }
--
-+              if (filter_mask & RTEXT_FILTER_BRVLAN_COMPRESSED)
-+                      err = br_fill_ifvlaninfo_compressed(skb, pv);
-+              else
-+                      err = br_fill_ifvlaninfo(skb, pv);
-+              if (err)
-+                      goto nla_put_failure;
-               nla_nest_end(skb, af);
-       }
-@@ -209,7 +311,8 @@ int br_getlink(struct sk_buff *skb, u32 pid, u32 seq,
-       int err = 0;
-       struct net_bridge_port *port = br_port_get_rtnl(dev);
--      if (!port && !(filter_mask & RTEXT_FILTER_BRVLAN))
-+      if (!port && !(filter_mask & RTEXT_FILTER_BRVLAN) &&
-+          !(filter_mask & RTEXT_FILTER_BRVLAN_COMPRESSED))
-               goto out;
-       err = br_fill_ifinfo(skb, port, pid, seq, RTM_NEWLINK, NLM_F_MULTI,
--- 
-cgit v0.10.2
-
diff --git a/bridge-vlandrange4.patch b/bridge-vlandrange4.patch
deleted file mode 100644 (file)
index a044ed4..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From patchwork Thu Jul  2 12:48:17 2015
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [net] bridge: vlan: fix usage of vlan 0 and 4095 again
-From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
-X-Patchwork-Id: 490608
-Message-Id: <1435841297-44200-1-git-send-email-nikolay@cumulusnetworks.com>
-To: netdev@vger.kernel.org
-Cc: vyasevich@gmail.com, bridge@lists.linux-foundation.org,
- davem@davemloft.net, toshiaki.makita1@gmail.com,
- stephen@networkplumber.org, roopa@cumulusnetworks.com,
- Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
-Date: Thu,  2 Jul 2015 05:48:17 -0700
-
-Vlan ids 0 and 4095 were disallowed by commit:
-8adff41c3d25 ("bridge: Don't use VID 0 and 4095 in vlan filtering")
-but then the check was removed when vlan ranges were introduced by:
-bdced7ef7838 ("bridge: support for multiple vlans and vlan ranges in setlink and dellink requests")
-So reintroduce the vlan range check.
-Before patch:
-[root@testvm ~]# bridge vlan add vid 0 dev eth0 master
-(succeeds)
-After Patch:
-[root@testvm ~]# bridge vlan add vid 0 dev eth0 master
-RTNETLINK answers: Invalid argument
-
-Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
-Fixes: bdced7ef7838 ("bridge: support for multiple vlans and vlan ranges in setlink and dellink requests")
-Acked-by: Toshiaki Makita <toshiaki.makita1@gmail.com>
----
- net/bridge/br_netlink.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
-index 6b67ed3831de..364bdc98bd9b 100644
---- a/net/bridge/br_netlink.c
-+++ b/net/bridge/br_netlink.c
-@@ -457,6 +457,8 @@ static int br_afspec(struct net_bridge *br,
-               if (nla_len(attr) != sizeof(struct bridge_vlan_info))
-                       return -EINVAL;
-               vinfo = nla_data(attr);
-+              if (!vinfo->vid || vinfo->vid >= VLAN_VID_MASK)
-+                      return -EINVAL;
-               if (vinfo->flags & BRIDGE_VLAN_INFO_RANGE_BEGIN) {
-                       if (vinfo_start)
-                               return -EINVAL;
index c8a9056f767f34acdffbd12015cb437a089587ae..aa5f6a0300bc96d3d22dbf68ac7860efc3f25daf 100644 (file)
@@ -1,3 +1,9 @@
+pve-kernel-4.1.3 (4.1.3-6) unstable; urgency=medium
+
+  * update to 4.1.3 (ubuntgu wily)
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 30 Jul 2015 07:37:56 +0200
+
 pve-kernel-3.19.8 (3.19.8-5) unstable; urgency=medium
 
   * add bridge-vlanrage patches
index fdc82cdcd617c09793d0e0b4e8f7f57c2e084ef7..fb55851c14bd3ae8192cf5e7f845ea7c01a504a4 100755 (executable)
@@ -8,7 +8,7 @@ die "no directory to scan" if !$dir;
 
 die "no such directory" if ! -d $dir;
 
-die "strange directory name" if $dir !~ m|^(.*/)?(3.19.\d+\-\d+\-pve)(/+)?$|;
+die "strange directory name" if $dir !~ m|^(.*/)?(4.1.\d+\-\d+\-pve)(/+)?$|;
 
 my $apiver = $2;
 
diff --git a/ixgbe-4.0.3.tar.gz b/ixgbe-4.0.3.tar.gz
deleted file mode 100644 (file)
index 4187f13..0000000
Binary files a/ixgbe-4.0.3.tar.gz and /dev/null differ
diff --git a/ubuntu-vivid.tgz b/ubuntu-vivid.tgz
deleted file mode 100644 (file)
index 734bdb0..0000000
Binary files a/ubuntu-vivid.tgz and /dev/null differ