* adss in-kernel udp redirect plugin for lantiq voice optimisation
authorJohn Crispin <john@openwrt.org>
Mon, 7 Feb 2011 21:48:55 +0000 (21:48 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 7 Feb 2011 21:48:55 +0000 (21:48 +0000)
SVN-Revision: 25413

package/ltq-kpi2udp/Makefile [new file with mode: 0644]
package/ltq-kpi2udp/patches/100-configure.patch [new file with mode: 0644]
package/ltq-kpi2udp/patches/110-ifx_udp_redirect.patch [new file with mode: 0644]

diff --git a/package/ltq-kpi2udp/Makefile b/package/ltq-kpi2udp/Makefile
new file mode 100644 (file)
index 0000000..497f743
--- /dev/null
@@ -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 <blogic@openwrt.org>
+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 (file)
index 0000000..8f6704e
--- /dev/null
@@ -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 (file)
index 0000000..abb3d35
--- /dev/null
@@ -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);*/