diff options
-rw-r--r-- | cmake/cpack.cmake | 7 | ||||
-rw-r--r-- | cmake/debian/debian.cmake | 44 | ||||
-rwxr-xr-x | cmake/debian/postinst | 2 | ||||
-rw-r--r-- | drivers/ipoe/ipoe.c | 12 | ||||
-rw-r--r-- | drivers/vlan_mon/CMakeLists.txt | 4 |
5 files changed, 46 insertions, 23 deletions
diff --git a/cmake/cpack.cmake b/cmake/cpack.cmake index 412eadf..4edf3cf 100644 --- a/cmake/cpack.cmake +++ b/cmake/cpack.cmake @@ -2,7 +2,7 @@ INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_PACKAGE_VERSION_MAJOR "1") SET(CPACK_PACKAGE_VERSION_MINOR "11") -SET(CPACK_PACKAGE_VERSION_PATCH "0") +SET(CPACK_PACKAGE_VERSION_PATCH "99") SET(CPACK_PACKAGE_NAME "accel-ppp") SET(CPACK_PACKAGE_CONTACT "Dmitry Kozlov <xeb@mail.ru>") @@ -32,6 +32,11 @@ IF(CPACK_TYPE STREQUAL Debian8) INCLUDE(${CMAKE_HOME_DIRECTORY}/cmake/debian/debian.cmake) ENDIF(CPACK_TYPE STREQUAL Debian8) +IF(CPACK_TYPE STREQUAL Debian9) + SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.24), libssl1.0.2 (>= 1.0.2l), libpcre3 (>= 8.39)") + INCLUDE(${CMAKE_HOME_DIRECTORY}/cmake/debian/debian.cmake) +ENDIF(CPACK_TYPE STREQUAL Debian9) + IF(CPACK_TYPE STREQUAL Centos7) SET(CPACK_RPM_PACKAGE_LICENSE "GPL") SET(CPACK_RPM_PACKAGE_URL "http://accel-ppp.org") diff --git a/cmake/debian/debian.cmake b/cmake/debian/debian.cmake index e0e3393..5c994e2 100644 --- a/cmake/debian/debian.cmake +++ b/cmake/debian/debian.cmake @@ -1,8 +1,16 @@ SET(CPACK_PACKAGING_INSTALL_PREFIX "/usr") SET(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}) -if (BUILD_DRIVER_ONLY) - if (BUILD_PPTP_DRIVER) +if (NOT DEFINED MODULES_KDIR) + execute_process( + COMMAND uname -r + COMMAND tr -d '\n' + OUTPUT_VARIABLE MODULES_KDIR + ) +endif() + +if (BUILD_PPTP_DRIVER) + if (BUILD_DRIVER_ONLY) SET(CPACK_PACKAGE_VERSION_MAJOR "0") SET(CPACK_PACKAGE_VERSION_MINOR "8") SET(CPACK_PACKAGE_VERSION_PATCH "5") @@ -11,29 +19,35 @@ if (BUILD_DRIVER_ONLY) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "accel-pptp kernel module") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian-kmod/postinst") - #INSTALL(DIRECTORY lib/modules/${DEBIAN_KDIR}/extra) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/driver/driver/pptp.ko DESTINATION lib/modules/${DEBIAN_KDIR}/extra) - #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "linux-image (= ${LINUX_IMAGE})") - endif (BUILD_PPTP_DRIVER) - - if (BUILD_IPOE_DRIVER) + endif () + #INSTALL(DIRECTORY lib/modules/${DEBIAN_KDIR}/extra) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/driver/driver/pptp.ko DESTINATION /lib/modules/${MODULES_KDIR}/extra) + #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "linux-image (= ${LINUX_IMAGE})") +endif (BUILD_PPTP_DRIVER) + +if (BUILD_IPOE_DRIVER) + if (BUILD_DRIVER_ONLY) SET(CPACK_PACKAGING_INSTALL_PREFIX "/") SET(CPACK_PACKAGE_NAME "accel-ppp-ipoe-kmod") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "accel-ppp IPoE kernel module") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian-kmod/postinst") - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/drivers/ipoe/driver/ipoe.ko DESTINATION lib/modules/${DEBIAN_KDIR}/extra) - endif (BUILD_IPOE_DRIVER) + endif () + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/drivers/ipoe/driver/ipoe.ko DESTINATION /lib/modules/${MODULES_KDIR}/extra) +endif (BUILD_IPOE_DRIVER) - if (BUILD_VLAN_MON_DRIVER) +if (BUILD_VLAN_MON_DRIVER) + if (BUILD_DRIVER_ONLY) SET(CPACK_PACKAGING_INSTALL_PREFIX "/") SET(CPACK_PACKAGE_NAME "accel-ppp-vlan_mon-kmod") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "accel-ppp vlan monitoring kernel module") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian-kmod/postinst") - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/drivers/vlan_mon/driver/vlan_mon.ko DESTINATION lib/modules/${DEBIAN_KDIR}/extra) - endif (BUILD_VLAN_MON_DRIVER) -else (BUILD_DRIVER_ONLY) + endif () + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/drivers/vlan_mon/driver/vlan_mon.ko DESTINATION /lib/modules/${MODULES_KDIR}/extra) +endif (BUILD_VLAN_MON_DRIVER) + +if (NOT BUILD_DRIVER_ONLY) SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/conffiles") if (CPACK_TYPE STREQUAL Debian6) @@ -45,4 +59,4 @@ else (BUILD_DRIVER_ONLY) INSTALL(FILES ${CMAKE_HOME_DIRECTORY}/contrib/debian/accel-ppp-init DESTINATION /etc/init.d RENAME accel-ppp) INSTALL(FILES ${CMAKE_HOME_DIRECTORY}/contrib/debian/accel-ppp-default DESTINATION /etc/default RENAME accel-ppp) endif (CPACK_TYPE STREQUAL Debian6) -endif (BUILD_DRIVER_ONLY) +endif () diff --git a/cmake/debian/postinst b/cmake/debian/postinst index cc38181..0c38b0d 100755 --- a/cmake/debian/postinst +++ b/cmake/debian/postinst @@ -5,4 +5,6 @@ chmod +x /etc/init.d/accel-ppp mkdir /var/log/accel-ppp > /dev/null 2>&1 mkdir /var/lib/accel-ppp > /dev/null 2>&1 +depmod + exit 0 diff --git a/drivers/ipoe/ipoe.c b/drivers/ipoe/ipoe.c index 71ae1e4..90b04ca 100644 --- a/drivers/ipoe/ipoe.c +++ b/drivers/ipoe/ipoe.c @@ -709,7 +709,7 @@ static struct ipoe_session *ipoe_lookup_hwaddr(__u8 *hwaddr) u.hwaddr_u = 0; memcpy(u.hwaddr, hwaddr, ETH_ALEN); - head = &ipoe_list3[u.hwaddr_u & IPOE_HASH_BITS]; + head = &ipoe_list3[hwaddr[ETH_ALEN - 1]]; rcu_read_lock(); @@ -1069,7 +1069,7 @@ static void ipoe_netdev_setup(struct net_device *dev) #endif dev->addr_len = ETH_ALEN; dev->features |= NETIF_F_NETNS_LOCAL; - dev->features &= ~NETIF_F_HW_VLAN_FILTER; + dev->features &= ~(NETIF_F_HW_VLAN_FILTER | NETIF_F_LRO); dev->header_ops = &ipoe_hard_header_ops; dev->priv_flags &= ~IFF_XMIT_DST_RELEASE; } @@ -1126,7 +1126,7 @@ static int ipoe_create(__be32 peer_addr, __be32 addr, __be32 gw, int ifindex, co } if (link_dev) { - dev->features = link_dev->features & ~NETIF_F_HW_VLAN_FILTER; + dev->features = link_dev->features & ~(NETIF_F_HW_VLAN_FILTER | NETIF_F_LRO); memcpy(dev->dev_addr, link_dev->dev_addr, ETH_ALEN); memcpy(dev->broadcast, link_dev->broadcast, ETH_ALEN); } @@ -1162,7 +1162,7 @@ static int ipoe_create(__be32 peer_addr, __be32 addr, __be32 gw, int ifindex, co list_add_tail_rcu(&ses->entry, &ipoe_list[h]); list_add_tail(&ses->entry2, &ipoe_list2); if (link_dev) - list_add_tail_rcu(&ses->entry3, &ipoe_list3[ses->u.hwaddr_u & IPOE_HASH_BITS]); + list_add_tail_rcu(&ses->entry3, &ipoe_list3[ses->u.hwaddr[ETH_ALEN - 1]]); r = dev->ifindex; up(&ipoe_wlock); @@ -1418,7 +1418,7 @@ static int ipoe_nl_cmd_modify(struct sk_buff *skb, struct genl_info *info) } if (link_dev) { - ses->dev->features = link_dev->features & ~NETIF_F_HW_VLAN_FILTER; + ses->dev->features = link_dev->features & ~(NETIF_F_HW_VLAN_FILTER | NETIF_F_LRO); memcpy(dev->dev_addr, link_dev->dev_addr, ETH_ALEN); memcpy(dev->broadcast, link_dev->broadcast, ETH_ALEN); } @@ -1446,7 +1446,7 @@ static int ipoe_nl_cmd_modify(struct sk_buff *skb, struct genl_info *info) if (info->attrs[IPOE_ATTR_HWADDR]) { nla_memcpy(ses->u.hwaddr, info->attrs[IPOE_ATTR_HWADDR], ETH_ALEN); if (ses->link_dev) - list_add_tail_rcu(&ses->entry3, &ipoe_list3[ses->u.hwaddr_u & IPOE_HASH_BITS]); + list_add_tail_rcu(&ses->entry3, &ipoe_list3[ses->u.hwaddr[ETH_ALEN - 1]]); } //pr_info("ipoe: modify %08x %08x\n", ses->peer_addr, ses->addr); diff --git a/drivers/vlan_mon/CMakeLists.txt b/drivers/vlan_mon/CMakeLists.txt index 892fed1..1d0c3c8 100644 --- a/drivers/vlan_mon/CMakeLists.txt +++ b/drivers/vlan_mon/CMakeLists.txt @@ -14,4 +14,6 @@ ADD_CUSTOM_TARGET(vlan_mon_drv ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/driver/vlan_mon.ko ) -INSTALL(CODE "EXECUTE_PROCESS(COMMAND make -C ${KDIR} M=${CMAKE_CURRENT_BINARY_DIR}/drivers/vlan_mon modules_install)") +if (NOT DEFINED CPACK_TYPE) + INSTALL(CODE "EXECUTE_PROCESS(COMMAND make -C ${KDIR} M=${CMAKE_CURRENT_BINARY_DIR}/drivers/vlan_mon modules_install)") +endif () |