From b549fce06bb8d59610836d14e2416637739fc488 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 7 Feb 2011 21:48:55 +0000 Subject: [PATCH] * adss in-kernel udp redirect plugin for lantiq voice optimisation SVN-Revision: 25413 --- package/ltq-kpi2udp/Makefile | 48 +++++++++++++++++++ .../ltq-kpi2udp/patches/100-configure.patch | 11 +++++ .../patches/110-ifx_udp_redirect.patch | 29 +++++++++++ 3 files changed, 88 insertions(+) create mode 100644 package/ltq-kpi2udp/Makefile create mode 100644 package/ltq-kpi2udp/patches/100-configure.patch create mode 100644 package/ltq-kpi2udp/patches/110-ifx_udp_redirect.patch diff --git a/package/ltq-kpi2udp/Makefile b/package/ltq-kpi2udp/Makefile new file mode 100644 index 0000000000..497f743e04 --- /dev/null +++ b/package/ltq-kpi2udp/Makefile @@ -0,0 +1,48 @@ +# +# Copyright (C) 2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=drv_kpi2udp +PKG_VERSION:=2.2.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=drv_kpi2udp-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources +PKG_MD5SUM:=af3855609554c7f3d2c3df8c597f50a7 + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/ltq-kpi2udp + SUBMENU:=Voice over IP + TITLE:=TAPI KPI2UDP plug-in + URL:=http://www.lantiq.com/ + DEPENDS:=+kmod-ltq-tapi @TARGET_lantiq + FILES:=$(PKG_BUILD_DIR)/drv_kpi2udp.ko + AUTOLOAD:=$(call AutoLoad,26,drv_kpi2udp) + MAINTAINER:=John Crispin +endef + +define KernelPackage/ltq-kpi2udp/description + RTP packet path accelleration into IP stack (strongly recommended) +endef + +CONFIGURE_ARGS += --enable-kernelincl="$(LINUX_DIR)/include" \ + --enable-tapiincl="$(STAGING_DIR)/usr/include/drv_tapi" \ + --with-ifxos-incl=$(STAGING_DIR)/usr/include/ifxos \ + --enable-warning \ + --enable-linux-26 \ + --enable-kernelbuild="$(LINUX_DIR)" \ + ARCH=$(LINUX_KARCH) + +define Build/Configure + (cd $(PKG_BUILD_DIR); aclocal && autoconf && automake) + $(call Build/Configure/Default) +endef + +$(eval $(call KernelPackage,ltq-kpi2udp)) diff --git a/package/ltq-kpi2udp/patches/100-configure.patch b/package/ltq-kpi2udp/patches/100-configure.patch new file mode 100644 index 0000000000..8f6704e9e8 --- /dev/null +++ b/package/ltq-kpi2udp/patches/100-configure.patch @@ -0,0 +1,11 @@ +--- a/configure.in ++++ b/configure.in +@@ -113,7 +113,7 @@ + AC_ARG_ENABLE(kernelbuild, + AS_HELP_STRING(--enable-kernelbuild=x,Set the target kernel build path), + [ +- if test -r $enableval/include/linux/autoconf.h; then ++ if test -r $enableval/include/generated/autoconf.h; then + AC_SUBST([KERNEL_BUILD_PATH],[$enableval]) + else + AC_MSG_ERROR([The kernel build directory is not valid or not configured!]) diff --git a/package/ltq-kpi2udp/patches/110-ifx_udp_redirect.patch b/package/ltq-kpi2udp/patches/110-ifx_udp_redirect.patch new file mode 100644 index 0000000000..abb3d353a1 --- /dev/null +++ b/package/ltq-kpi2udp/patches/110-ifx_udp_redirect.patch @@ -0,0 +1,29 @@ +--- a/ifx_udp_redirect.c ++++ b/ifx_udp_redirect.c +@@ -256,7 +256,7 @@ + { + if (redtab.channels[i].in_use == IFX_TRUE) + { +- if (redtab.channels[i].sk->sk_lock.owner != 0) ++ if (redtab.channels[i].sk->sk_lock.owned != 0) + return IFX_TRUE; + } + } +@@ -545,7 +545,7 @@ + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)) + if (sk->num != htons(sport)) + #else +- if (((struct inet_sock *)sk)->num != htons(sport)) ++ if (((struct inet_sock *)sk)->inet_num != htons(sport)) + #endif + { + return CALL_MK_SESSION_ERR; +@@ -628,7 +628,7 @@ + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)) + if((vsock != NULL)&&(vsk != NULL)&&(vsk->num > 0)) + #else +- if((vsock != NULL)&&(vsk != NULL)&&(((struct inet_sock *)vsk)->num > 0)) ++ if((vsock != NULL)&&(vsk != NULL)&&(((struct inet_sock *)vsk)->inet_num > 0)) + #endif + { + /*printk("[KPI2UDP] releasing vsock...%p, ops %p\n", vsock, vsock->ops);*/ -- 2.25.1