break trunk temporary - upgrade to 2.6.21.1 and iptables 1.3.7
SVN-Revision: 7315
This commit is contained in:
parent
e1bb43f263
commit
615e8af841
34 changed files with 2551 additions and 3608 deletions
|
@ -6,9 +6,9 @@ ifeq ($(LINUX_VERSION),)
|
|||
LINUX_RELEASE:=1
|
||||
LINUX_KERNEL_MD5SUM:=f59665540a7f3351ea416a0dad104b55
|
||||
else
|
||||
LINUX_VERSION:=2.6.19.2
|
||||
LINUX_VERSION:=2.6.21.1
|
||||
LINUX_RELEASE:=1
|
||||
LINUX_KERNEL_MD5SUM:=ca0ce8f288e8ae93ac243b568f906bf8
|
||||
LINUX_KERNEL_MD5SUM:=a28b78793cd368592f7873bf36cb38b0
|
||||
endif
|
||||
endif
|
||||
KERNEL:=2.$(word 2,$(subst ., ,$(strip $(LINUX_VERSION))))
|
||||
|
|
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
|||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=iptables
|
||||
PKG_VERSION:=1.3.5
|
||||
PKG_VERSION:=1.3.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
|
@ -18,7 +18,7 @@ PKG_SOURCE_URL:=http://www.netfilter.org/projects/iptables/files \
|
|||
ftp://ftp.be.netfilter.org/pub/netfilter/iptables/ \
|
||||
ftp://ftp.de.netfilter.org/pub/netfilter/iptables/ \
|
||||
ftp://ftp.no.netfilter.org/pub/netfilter/iptables/
|
||||
PKG_MD5SUM:=00fb916fa8040ca992a5ace56d905ea5
|
||||
PKG_MD5SUM:=dd965bdacbb86ce2a6498829fddda6b7
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
ifeq ($(DUMP),)
|
||||
|
|
|
@ -1,20 +1,11 @@
|
|||
diff -urN iptables.old/extensions/.IMQ-test iptables.dev/extensions/.IMQ-test
|
||||
--- iptables.old/extensions/.IMQ-test 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ iptables.dev/extensions/.IMQ-test 2005-10-09 01:00:36.358959750 +0200
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/sh
|
||||
+# True if IMQ target patch is applied.
|
||||
+[ -f $KERNEL_DIR/net/ipv4/netfilter/ipt_IMQ.c ] && echo IMQ
|
||||
diff -urN iptables.old/extensions/.IMQ-test6 iptables.dev/extensions/.IMQ-test6
|
||||
--- iptables.old/extensions/.IMQ-test6 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ iptables.dev/extensions/.IMQ-test6 2005-10-09 01:00:36.358959750 +0200
|
||||
--- iptables-1.3.6.orig/extensions.orig/.IMQ-test6 Thu Jan 1 01:00:00 1970
|
||||
+++ iptables-1.3.6/extensions/.IMQ-test6 Mon Jun 16 10:12:47 2003
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/sh
|
||||
+# True if IMQ target patch is applied.
|
||||
+[ -f $KERNEL_DIR/net/ipv6/netfilter/ip6t_IMQ.c ] && echo IMQ
|
||||
diff -urN iptables.old/extensions/libip6t_IMQ.c iptables.dev/extensions/libip6t_IMQ.c
|
||||
--- iptables.old/extensions/libip6t_IMQ.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ iptables.dev/extensions/libip6t_IMQ.c 2005-10-09 01:00:36.358959750 +0200
|
||||
--- iptables-1.3.6.orig/extensions.orig/libip6t_IMQ.c Thu Jan 1 01:00:00 1970
|
||||
+++ iptables-1.3.6/extensions/libip6t_IMQ.c Mon Jun 16 10:12:47 2003
|
||||
@@ -0,0 +1,101 @@
|
||||
+/* Shared library add-on to iptables to add IMQ target support. */
|
||||
+#include <stdio.h>
|
||||
|
@ -113,13 +104,18 @@ diff -urN iptables.old/extensions/libip6t_IMQ.c iptables.dev/extensions/libip6t_
|
|||
+ .extra_opts = opts
|
||||
+};
|
||||
+
|
||||
+void _init(void)
|
||||
+static __attribute__((constructor)) void _init(void)
|
||||
+{
|
||||
+ register_target6(&imq);
|
||||
+}
|
||||
diff -urN iptables.old/extensions/libipt_IMQ.c iptables.dev/extensions/libipt_IMQ.c
|
||||
--- iptables.old/extensions/libipt_IMQ.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ iptables.dev/extensions/libipt_IMQ.c 2005-10-09 01:00:36.358959750 +0200
|
||||
--- iptables-1.3.6.orig/extensions.orig/.IMQ-test Thu Jan 1 01:00:00 1970
|
||||
+++ iptables-1.3.6/extensions/.IMQ-test Mon Jun 16 10:12:47 2003
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/sh
|
||||
+# True if IMQ target patch is applied.
|
||||
+[ -f $KERNEL_DIR/net/ipv4/netfilter/ipt_IMQ.c ] && echo IMQ
|
||||
--- iptables-1.3.6.orig/extensions.orig/libipt_IMQ.c Thu Jan 1 01:00:00 1970
|
||||
+++ iptables-1.3.6/extensions/libipt_IMQ.c Mon Jun 16 10:12:47 2003
|
||||
@@ -0,0 +1,101 @@
|
||||
+/* Shared library add-on to iptables to add IMQ target support. */
|
||||
+#include <stdio.h>
|
||||
|
@ -218,7 +214,8 @@ diff -urN iptables.old/extensions/libipt_IMQ.c iptables.dev/extensions/libipt_IM
|
|||
+ .extra_opts = opts
|
||||
+};
|
||||
+
|
||||
+void _init(void)
|
||||
+static __attribute__((constructor)) void _init(void)
|
||||
+{
|
||||
+ register_target(&imq);
|
||||
+}
|
||||
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
diff -ur iptables.old/ip6tables.c iptables.dev/ip6tables.c
|
||||
--- iptables.old/ip6tables.c 2006-01-30 09:43:12.000000000 +0100
|
||||
+++ iptables.dev/ip6tables.c 2007-01-02 00:29:50.000000000 +0100
|
||||
@@ -857,8 +857,9 @@
|
||||
for (i = 0; vianame[i]; i++) {
|
||||
if (!isalnum(vianame[i])
|
||||
&& vianame[i] != '_'
|
||||
+ && vianame[i] != '-'
|
||||
&& vianame[i] != '.') {
|
||||
- printf("Warning: wierd character in interface"
|
||||
+ printf("Warning: weird character in interface"
|
||||
" `%s' (No aliases, :, ! or *).\n",
|
||||
vianame);
|
||||
break;
|
||||
diff -ur iptables.old/iptables.c iptables.dev/iptables.c
|
||||
--- iptables.old/iptables.c 2006-01-30 09:43:09.000000000 +0100
|
||||
+++ iptables.dev/iptables.c 2007-01-02 00:29:38.000000000 +0100
|
||||
@@ -805,8 +805,9 @@
|
||||
for (i = 0; vianame[i]; i++) {
|
||||
if (!isalnum(vianame[i])
|
||||
&& vianame[i] != '_'
|
||||
+ && vianame[i] != '-'
|
||||
&& vianame[i] != '.') {
|
||||
- printf("Warning: wierd character in interface"
|
||||
+ printf("Warning: weird character in interface"
|
||||
" `%s' (No aliases, :, ! or *).\n",
|
||||
vianame);
|
||||
break;
|
|
@ -20,6 +20,7 @@ CONFIG_ASK_IP_FIB_HASH=y
|
|||
# CONFIG_ATALK is not set
|
||||
# CONFIG_ATARI_PARTITION is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_ATL1 is not set
|
||||
CONFIG_ATM=m
|
||||
CONFIG_ATMEL=m
|
||||
# CONFIG_ATM_AMBASSADOR is not set
|
||||
|
@ -134,6 +135,7 @@ CONFIG_BT_SCO=m
|
|||
CONFIG_BUG=y
|
||||
# CONFIG_CAPI_AVM is not set
|
||||
# CONFIG_CAPI_EICON is not set
|
||||
# CONFIG_CAPI_TRACE is not set
|
||||
CONFIG_CARDBUS=y
|
||||
# CONFIG_CARDMAN_4000 is not set
|
||||
# CONFIG_CARDMAN_4040 is not set
|
||||
|
@ -141,6 +143,7 @@ CONFIG_CARDBUS=y
|
|||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_CHR_DEV_OSST is not set
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
# CONFIG_CHR_DEV_SG is not set
|
||||
|
@ -172,6 +175,7 @@ CONFIG_CRYPTO_ANUBIS=m
|
|||
CONFIG_CRYPTO_ARC4=m
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
CONFIG_CRYPTO_BLOWFISH=m
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
CONFIG_CRYPTO_CAST5=m
|
||||
CONFIG_CRYPTO_CAST6=m
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
|
@ -179,14 +183,18 @@ CONFIG_CRYPTO_CRC32C=m
|
|||
CONFIG_CRYPTO_DEFLATE=m
|
||||
CONFIG_CRYPTO_DES=y
|
||||
CONFIG_CRYPTO_ECB=m
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
CONFIG_CRYPTO_HASH=m
|
||||
CONFIG_CRYPTO_HMAC=m
|
||||
CONFIG_CRYPTO_KHAZAD=m
|
||||
# CONFIG_CRYPTO_LRW is not set
|
||||
CONFIG_CRYPTO_MANAGER=y
|
||||
CONFIG_CRYPTO_MD4=m
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=m
|
||||
CONFIG_CRYPTO_NULL=m
|
||||
# CONFIG_CRYPTO_PCBC is not set
|
||||
CONFIG_CRYPTO_SERPENT=m
|
||||
CONFIG_CRYPTO_SHA1=m
|
||||
CONFIG_CRYPTO_SHA256=m
|
||||
|
@ -197,6 +205,7 @@ CONFIG_CRYPTO_TGR192=m
|
|||
CONFIG_CRYPTO_TWOFISH=m
|
||||
CONFIG_CRYPTO_TWOFISH_COMMON=m
|
||||
CONFIG_CRYPTO_WP512=m
|
||||
# CONFIG_CRYPTO_XCBC is not set
|
||||
# CONFIG_DAVICOM_PHY is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
|
@ -220,6 +229,7 @@ CONFIG_DEVFS_MOUNT=y
|
|||
# CONFIG_DGRS is not set
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_DL2K is not set
|
||||
# CONFIG_DLM is not set
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_DRM is not set
|
||||
|
@ -367,6 +377,7 @@ CONFIG_IP6_NF_MATCH_FRAG=m
|
|||
CONFIG_IP6_NF_MATCH_HL=m
|
||||
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
|
||||
CONFIG_IP6_NF_MATCH_LIMIT=m
|
||||
# CONFIG_IP6_NF_MATCH_MH is not set
|
||||
CONFIG_IP6_NF_MATCH_OPTS=m
|
||||
CONFIG_IP6_NF_MATCH_OWNER=m
|
||||
CONFIG_IP6_NF_MATCH_RT=m
|
||||
|
@ -417,6 +428,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
|
|||
CONFIG_IP_NF_CONNTRACK=y
|
||||
# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
|
||||
CONFIG_IP_NF_CONNTRACK_MARK=y
|
||||
# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
|
||||
CONFIG_IP_NF_CT_ACCT=y
|
||||
CONFIG_IP_NF_CT_PROTO_SCTP=m
|
||||
CONFIG_IP_NF_FILTER=y
|
||||
|
@ -555,6 +567,7 @@ CONFIG_MAC_PARTITION=y
|
|||
# CONFIG_MEGARAID_LEGACY is not set
|
||||
# CONFIG_MEGARAID_NEWGEN is not set
|
||||
# CONFIG_MEGARAID_SAS is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
CONFIG_MII=y
|
||||
CONFIG_MINIX_FS=m
|
||||
# CONFIG_MINIX_SUBPARTITION is not set
|
||||
|
@ -587,6 +600,7 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
|||
CONFIG_NETFILTER_XT_MATCH_DCCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HELPER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
|
@ -610,11 +624,15 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
|
|||
CONFIG_NETFILTER_XT_TARGET_DELUDE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_DSCP=m
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NETROM is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
CONFIG_NET_ACT_GACT=m
|
||||
CONFIG_NET_ACT_IPT=m
|
||||
CONFIG_NET_ACT_MIRRED=m
|
||||
|
@ -674,6 +692,26 @@ CONFIG_NET_SCH_TEQL=m
|
|||
CONFIG_NET_WIRELESS=y
|
||||
CONFIG_NET_WIRELESS_RTNETLINK=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
# CONFIG_NF_CONNTRACK_AMANDA is not set
|
||||
CONFIG_NF_CONNTRACK_ENABLED=y
|
||||
# CONFIG_NF_CONNTRACK_EVENTS is not set
|
||||
CONFIG_NF_CONNTRACK_FTP=m
|
||||
CONFIG_NF_CONNTRACK_H323=m
|
||||
CONFIG_NF_CONNTRACK_IPV4=y
|
||||
# CONFIG_NF_CONNTRACK_IPV6 is not set
|
||||
CONFIG_NF_CONNTRACK_IRC=m
|
||||
# CONFIG_NF_CONNTRACK_MARK is not set
|
||||
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
|
||||
# CONFIG_NF_CONNTRACK_PPTP is not set
|
||||
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
|
||||
# CONFIG_NF_CONNTRACK_SANE is not set
|
||||
CONFIG_NF_CONNTRACK_SIP=m
|
||||
CONFIG_NF_CONNTRACK_SUPPORT=y
|
||||
# CONFIG_NF_CONNTRACK_TFTP is not set
|
||||
# CONFIG_NF_CT_ACCT is not set
|
||||
# CONFIG_NF_CT_PROTO_SCTP is not set
|
||||
# CONFIG_NF_NAT_SNMP_BASIC is not set
|
||||
CONFIG_NF_NAT=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NFSD_TCP=y
|
||||
# CONFIG_NFSD_V2_ACL is not set
|
||||
|
@ -739,6 +777,10 @@ CONFIG_PACKET=y
|
|||
CONFIG_PACKET_MMAP=y
|
||||
# CONFIG_PARPORT is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_PATA_IT8213 is not set
|
||||
# CONFIG_PATA_MARVELL is not set
|
||||
CONFIG_PATA_PLATFORM=m
|
||||
# CONFIG_PC300TOO is not set
|
||||
# CONFIG_PCCARD is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_ATMEL=m
|
||||
|
@ -810,8 +852,11 @@ CONFIG_ROMFS_FS=m
|
|||
CONFIG_RPCSEC_GSS_KRB5=m
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
CONFIG_RTC_DRV_CMOS=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_SATA_INIC162X is not set
|
||||
# CONFIG_SC92031 is not set
|
||||
CONFIG_SCSI=m
|
||||
# CONFIG_SCSI_3W_9XXX is not set
|
||||
# CONFIG_SCSI_AACRAID is not set
|
||||
|
@ -845,9 +890,12 @@ CONFIG_SCSI_PROC_FS=y
|
|||
# CONFIG_SCSI_QLOGIC_1280 is not set
|
||||
# CONFIG_SCSI_SAS_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_LIBSAS is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
# CONFIG_SCSI_SPI_ATTRS is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
# CONFIG_SCSI_STEX is not set
|
||||
# CONFIG_SCSI_SYM53C8XX_2 is not set
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
|
@ -980,6 +1028,7 @@ CONFIG_SYN_COOKIES=y
|
|||
CONFIG_SYSCTL=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
@ -996,6 +1045,7 @@ CONFIG_TCP_CONG_SCALABLE=m
|
|||
CONFIG_TCP_CONG_VEGAS=y
|
||||
CONFIG_TCP_CONG_VENO=m
|
||||
CONFIG_TCP_CONG_WESTWOOD=m
|
||||
# CONFIG_TCP_MD5SIG is not set
|
||||
CONFIG_TEXTSEARCH=y
|
||||
CONFIG_TEXTSEARCH_BM=m
|
||||
CONFIG_TEXTSEARCH_FSM=m
|
||||
|
@ -1037,6 +1087,7 @@ CONFIG_USB_ATM=m
|
|||
# CONFIG_USB_AUERSWALD is not set
|
||||
# CONFIG_USB_BANDWIDTH is not set
|
||||
CONFIG_USB_BELKIN=y
|
||||
# CONFIG_USB_BERRY_CHARGE is not set
|
||||
CONFIG_USB_CATC=m
|
||||
# CONFIG_USB_CXACRU is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
|
@ -1054,6 +1105,7 @@ CONFIG_USB_EZUSB=y
|
|||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
# CONFIG_USB_IDMOUSE is not set
|
||||
# CONFIG_USB_IOWARRIOR is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
CONFIG_USB_KAWETH=m
|
||||
# CONFIG_USB_KBD is not set
|
||||
|
@ -1176,12 +1228,15 @@ CONFIG_VIDEO_V4L2=y
|
|||
# CONFIG_VIDEO_TEA6415C is not set
|
||||
# CONFIG_VIDEO_TEA6420 is not set
|
||||
# CONFIG_VIDEO_MSP3400 is not set
|
||||
# CONFIG_VIDEO_CAFE_CCIC is not set
|
||||
# CONFIG_VIDEO_CS53L32A is not set
|
||||
# CONFIG_VIDEO_TLV320AIC23B is not set
|
||||
# CONFIG_VIDEO_OV7670 is not set
|
||||
# CONFIG_VIDEO_WM8775 is not set
|
||||
# CONFIG_VIDEO_WM8739 is not set
|
||||
# CONFIG_VIDEO_SAA711X is not set
|
||||
# CONFIG_VIDEO_TVP5150 is not set
|
||||
# CONFIG_VIDEO_USBVISION is not set
|
||||
# CONFIG_VIDEO_CX25840 is not set
|
||||
# CONFIG_VIDEO_CX2341X is not set
|
||||
# CONFIG_VIDEO_SAA7127 is not set
|
||||
|
@ -1226,6 +1281,7 @@ CONFIG_WIRELESS_EXT=y
|
|||
# CONFIG_WR_PPMC is not set
|
||||
# CONFIG_X25 is not set
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
CONFIG_XFRM_USER=m
|
||||
CONFIG_XFS_FS=m
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -urN linux-2.6.19.old/fs/Kconfig linux-2.6.19.dev/fs/Kconfig
|
||||
--- linux-2.6.19.old/fs/Kconfig 2006-12-14 03:13:16.000000000 +0100
|
||||
+++ linux-2.6.19.dev/fs/Kconfig 2006-12-14 03:13:16.000000000 +0100
|
||||
@@ -1457,6 +1457,71 @@
|
||||
diff -Nur linux-2.6.21.1/fs/Kconfig linux-2.6.21.1-owrt/fs/Kconfig
|
||||
--- linux-2.6.21.1/fs/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/fs/Kconfig 2007-05-23 19:09:55.000000000 +0200
|
||||
@@ -1371,6 +1371,71 @@
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
|
@ -73,10 +73,10 @@ diff -urN linux-2.6.19.old/fs/Kconfig linux-2.6.19.dev/fs/Kconfig
|
|||
config VXFS_FS
|
||||
tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
|
||||
depends on BLOCK
|
||||
diff -urN linux-2.6.19.old/fs/Makefile linux-2.6.19.dev/fs/Makefile
|
||||
--- linux-2.6.19.old/fs/Makefile 2006-12-14 03:13:16.000000000 +0100
|
||||
+++ linux-2.6.19.dev/fs/Makefile 2006-12-14 03:13:16.000000000 +0100
|
||||
@@ -67,6 +67,7 @@
|
||||
diff -Nur linux-2.6.21.1/fs/Makefile linux-2.6.21.1-owrt/fs/Makefile
|
||||
--- linux-2.6.21.1/fs/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/fs/Makefile 2007-05-23 19:09:55.000000000 +0200
|
||||
@@ -68,6 +68,7 @@
|
||||
obj-$(CONFIG_JBD2) += jbd2/
|
||||
obj-$(CONFIG_EXT2_FS) += ext2/
|
||||
obj-$(CONFIG_CRAMFS) += cramfs/
|
||||
|
@ -84,9 +84,9 @@ diff -urN linux-2.6.19.old/fs/Makefile linux-2.6.19.dev/fs/Makefile
|
|||
obj-$(CONFIG_RAMFS) += ramfs/
|
||||
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
|
||||
obj-$(CONFIG_CODA_FS) += coda/
|
||||
diff -urN linux-2.6.19.old/fs/squashfs/inode.c linux-2.6.19.dev/fs/squashfs/inode.c
|
||||
--- linux-2.6.19.old/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/fs/squashfs/inode.c 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/squashfs/inode.c linux-2.6.21.1-owrt/fs/squashfs/inode.c
|
||||
--- linux-2.6.21.1/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/squashfs/inode.c 2007-05-23 19:52:20.000000000 +0200
|
||||
@@ -0,0 +1,2124 @@
|
||||
+/*
|
||||
+ * Squashfs - a compressed read only filesystem for Linux
|
||||
|
@ -2160,13 +2160,13 @@ diff -urN linux-2.6.19.old/fs/squashfs/inode.c linux-2.6.19.dev/fs/squashfs/inod
|
|||
+}
|
||||
+
|
||||
+
|
||||
+static kmem_cache_t * squashfs_inode_cachep;
|
||||
+static struct kmem_cache * squashfs_inode_cachep;
|
||||
+
|
||||
+
|
||||
+static struct inode *squashfs_alloc_inode(struct super_block *sb)
|
||||
+{
|
||||
+ struct squashfs_inode_info *ei;
|
||||
+ ei = kmem_cache_alloc(squashfs_inode_cachep, SLAB_KERNEL);
|
||||
+ ei = kmem_cache_alloc(squashfs_inode_cachep, GFP_KERNEL);
|
||||
+ if (!ei)
|
||||
+ return NULL;
|
||||
+ return &ei->vfs_inode;
|
||||
|
@ -2179,7 +2179,7 @@ diff -urN linux-2.6.19.old/fs/squashfs/inode.c linux-2.6.19.dev/fs/squashfs/inod
|
|||
+}
|
||||
+
|
||||
+
|
||||
+static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
|
||||
+static void init_once(void * foo, struct kmem_cache * cachep, unsigned long flags)
|
||||
+{
|
||||
+ struct squashfs_inode_info *ei = foo;
|
||||
+
|
||||
|
@ -2212,9 +2212,9 @@ diff -urN linux-2.6.19.old/fs/squashfs/inode.c linux-2.6.19.dev/fs/squashfs/inod
|
|||
+MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
|
||||
+MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff -urN linux-2.6.19.old/fs/squashfs/Makefile linux-2.6.19.dev/fs/squashfs/Makefile
|
||||
--- linux-2.6.19.old/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/fs/squashfs/Makefile 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/squashfs/Makefile linux-2.6.21.1-owrt/fs/squashfs/Makefile
|
||||
--- linux-2.6.21.1/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/squashfs/Makefile 2007-05-23 19:09:55.000000000 +0200
|
||||
@@ -0,0 +1,7 @@
|
||||
+#
|
||||
+# Makefile for the linux squashfs routines.
|
||||
|
@ -2223,9 +2223,9 @@ diff -urN linux-2.6.19.old/fs/squashfs/Makefile linux-2.6.19.dev/fs/squashfs/Mak
|
|||
+obj-$(CONFIG_SQUASHFS) += squashfs.o
|
||||
+squashfs-y += inode.o
|
||||
+squashfs-y += squashfs2_0.o
|
||||
diff -urN linux-2.6.19.old/fs/squashfs/squashfs2_0.c linux-2.6.19.dev/fs/squashfs/squashfs2_0.c
|
||||
--- linux-2.6.19.old/fs/squashfs/squashfs2_0.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/fs/squashfs/squashfs2_0.c 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/squashfs/squashfs2_0.c linux-2.6.21.1-owrt/fs/squashfs/squashfs2_0.c
|
||||
--- linux-2.6.21.1/fs/squashfs/squashfs2_0.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/squashfs/squashfs2_0.c 2007-05-23 19:09:55.000000000 +0200
|
||||
@@ -0,0 +1,758 @@
|
||||
+/*
|
||||
+ * Squashfs - a compressed read only filesystem for Linux
|
||||
|
@ -2985,9 +2985,9 @@ diff -urN linux-2.6.19.old/fs/squashfs/squashfs2_0.c linux-2.6.19.dev/fs/squashf
|
|||
+
|
||||
+ return 1;
|
||||
+}
|
||||
diff -urN linux-2.6.19.old/fs/squashfs/squashfs.h linux-2.6.19.dev/fs/squashfs/squashfs.h
|
||||
--- linux-2.6.19.old/fs/squashfs/squashfs.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/fs/squashfs/squashfs.h 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/squashfs/squashfs.h linux-2.6.21.1-owrt/fs/squashfs/squashfs.h
|
||||
--- linux-2.6.21.1/fs/squashfs/squashfs.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/squashfs/squashfs.h 2007-05-23 19:09:56.000000000 +0200
|
||||
@@ -0,0 +1,86 @@
|
||||
+/*
|
||||
+ * Squashfs - a compressed read only filesystem for Linux
|
||||
|
@ -3075,9 +3075,9 @@ diff -urN linux-2.6.19.old/fs/squashfs/squashfs.h linux-2.6.19.dev/fs/squashfs/s
|
|||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
diff -urN linux-2.6.19.old/include/linux/squashfs_fs.h linux-2.6.19.dev/include/linux/squashfs_fs.h
|
||||
--- linux-2.6.19.old/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/squashfs_fs.h 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/squashfs_fs.h linux-2.6.21.1-owrt/include/linux/squashfs_fs.h
|
||||
--- linux-2.6.21.1/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/squashfs_fs.h 2007-05-23 19:09:56.000000000 +0200
|
||||
@@ -0,0 +1,911 @@
|
||||
+#ifndef SQUASHFS_FS
|
||||
+#define SQUASHFS_FS
|
||||
|
@ -3990,9 +3990,9 @@ diff -urN linux-2.6.19.old/include/linux/squashfs_fs.h linux-2.6.19.dev/include/
|
|||
+
|
||||
+#endif
|
||||
+#endif
|
||||
diff -urN linux-2.6.19.old/include/linux/squashfs_fs_i.h linux-2.6.19.dev/include/linux/squashfs_fs_i.h
|
||||
--- linux-2.6.19.old/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/squashfs_fs_i.h 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/squashfs_fs_i.h linux-2.6.21.1-owrt/include/linux/squashfs_fs_i.h
|
||||
--- linux-2.6.21.1/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/squashfs_fs_i.h 2007-05-23 19:09:56.000000000 +0200
|
||||
@@ -0,0 +1,45 @@
|
||||
+#ifndef SQUASHFS_FS_I
|
||||
+#define SQUASHFS_FS_I
|
||||
|
@ -4039,9 +4039,9 @@ diff -urN linux-2.6.19.old/include/linux/squashfs_fs_i.h linux-2.6.19.dev/includ
|
|||
+ struct inode vfs_inode;
|
||||
+};
|
||||
+#endif
|
||||
diff -urN linux-2.6.19.old/include/linux/squashfs_fs_sb.h linux-2.6.19.dev/include/linux/squashfs_fs_sb.h
|
||||
--- linux-2.6.19.old/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/squashfs_fs_sb.h 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/squashfs_fs_sb.h linux-2.6.21.1-owrt/include/linux/squashfs_fs_sb.h
|
||||
--- linux-2.6.21.1/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/squashfs_fs_sb.h 2007-05-23 19:09:56.000000000 +0200
|
||||
@@ -0,0 +1,74 @@
|
||||
+#ifndef SQUASHFS_FS_SB
|
||||
+#define SQUASHFS_FS_SB
|
||||
|
@ -4117,9 +4117,9 @@ diff -urN linux-2.6.19.old/include/linux/squashfs_fs_sb.h linux-2.6.19.dev/inclu
|
|||
+ int (*read_fragment_index_table)(struct super_block *s);
|
||||
+};
|
||||
+#endif
|
||||
diff -urN linux-2.6.19.old/init/do_mounts_rd.c linux-2.6.19.dev/init/do_mounts_rd.c
|
||||
--- linux-2.6.19.old/init/do_mounts_rd.c 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/init/do_mounts_rd.c 2006-12-14 03:13:16.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/init/do_mounts_rd.c linux-2.6.21.1-owrt/init/do_mounts_rd.c
|
||||
--- linux-2.6.21.1/init/do_mounts_rd.c 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/init/do_mounts_rd.c 2007-05-23 19:09:56.000000000 +0200
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <linux/ext2_fs.h>
|
||||
#include <linux/romfs_fs.h>
|
||||
|
|
|
@ -1,15 +1,110 @@
|
|||
--- linux-2.6.19.old/lib/Makefile 2007-04-18 17:41:22.679403384 +0200
|
||||
+++ linux-2.6.19.dev/lib/Makefile 2007-04-18 17:41:43.303268080 +0200
|
||||
@@ -54,6 +54,7 @@
|
||||
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
|
||||
|
||||
obj-$(CONFIG_SWIOTLB) += swiotlb.o
|
||||
+obj-y += LzmaDecode.o
|
||||
|
||||
hostprogs-y := gen_crc32table
|
||||
clean-files := crc32table.h
|
||||
--- linux-2.6.19.old/lib/LzmaDecode.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/lib/LzmaDecode.c 2006-12-14 03:13:20.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/LzmaDecode.h linux-2.6.21.1-owrt/include/linux/LzmaDecode.h
|
||||
--- linux-2.6.21.1/include/linux/LzmaDecode.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/LzmaDecode.h 2007-05-14 10:51:05.000000000 +0200
|
||||
@@ -0,0 +1,100 @@
|
||||
+/*
|
||||
+ LzmaDecode.h
|
||||
+ LZMA Decoder interface
|
||||
+
|
||||
+ LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
|
||||
+ http://www.7-zip.org/
|
||||
+
|
||||
+ LZMA SDK is licensed under two licenses:
|
||||
+ 1) GNU Lesser General Public License (GNU LGPL)
|
||||
+ 2) Common Public License (CPL)
|
||||
+ It means that you can select one of these two licenses and
|
||||
+ follow rules of that license.
|
||||
+
|
||||
+ SPECIAL EXCEPTION:
|
||||
+ Igor Pavlov, as the author of this code, expressly permits you to
|
||||
+ statically or dynamically link your code (or bind by name) to the
|
||||
+ interfaces of this file without subjecting your linked code to the
|
||||
+ terms of the CPL or GNU LGPL. Any modifications or additions
|
||||
+ to this file, however, are subject to the LGPL or CPL terms.
|
||||
+*/
|
||||
+
|
||||
+#ifndef __LZMADECODE_H
|
||||
+#define __LZMADECODE_H
|
||||
+
|
||||
+/* #define _LZMA_IN_CB */
|
||||
+/* Use callback for input data */
|
||||
+
|
||||
+/* #define _LZMA_OUT_READ */
|
||||
+/* Use read function for output data */
|
||||
+
|
||||
+/* #define _LZMA_PROB32 */
|
||||
+/* It can increase speed on some 32-bit CPUs,
|
||||
+ but memory usage will be doubled in that case */
|
||||
+
|
||||
+/* #define _LZMA_LOC_OPT */
|
||||
+/* Enable local speed optimizations inside code */
|
||||
+
|
||||
+#ifndef UInt32
|
||||
+#ifdef _LZMA_UINT32_IS_ULONG
|
||||
+#define UInt32 unsigned long
|
||||
+#else
|
||||
+#define UInt32 unsigned int
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
+#ifdef _LZMA_PROB32
|
||||
+#define CProb UInt32
|
||||
+#else
|
||||
+#define CProb unsigned short
|
||||
+#endif
|
||||
+
|
||||
+#define LZMA_RESULT_OK 0
|
||||
+#define LZMA_RESULT_DATA_ERROR 1
|
||||
+#define LZMA_RESULT_NOT_ENOUGH_MEM 2
|
||||
+
|
||||
+#ifdef _LZMA_IN_CB
|
||||
+typedef struct _ILzmaInCallback
|
||||
+{
|
||||
+ int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize);
|
||||
+} ILzmaInCallback;
|
||||
+#endif
|
||||
+
|
||||
+#define LZMA_BASE_SIZE 1846
|
||||
+#define LZMA_LIT_SIZE 768
|
||||
+
|
||||
+/*
|
||||
+bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb)
|
||||
+bufferSize += 100 in case of _LZMA_OUT_READ
|
||||
+by default CProb is unsigned short,
|
||||
+but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int)
|
||||
+*/
|
||||
+
|
||||
+#ifdef _LZMA_OUT_READ
|
||||
+int LzmaDecoderInit(
|
||||
+ unsigned char *buffer, UInt32 bufferSize,
|
||||
+ int lc, int lp, int pb,
|
||||
+ unsigned char *dictionary, UInt32 dictionarySize,
|
||||
+ #ifdef _LZMA_IN_CB
|
||||
+ ILzmaInCallback *inCallback
|
||||
+ #else
|
||||
+ unsigned char *inStream, UInt32 inSize
|
||||
+ #endif
|
||||
+);
|
||||
+#endif
|
||||
+
|
||||
+int LzmaDecode(
|
||||
+ unsigned char *buffer,
|
||||
+ #ifndef _LZMA_OUT_READ
|
||||
+ UInt32 bufferSize,
|
||||
+ int lc, int lp, int pb,
|
||||
+ #ifdef _LZMA_IN_CB
|
||||
+ ILzmaInCallback *inCallback,
|
||||
+ #else
|
||||
+ unsigned char *inStream, UInt32 inSize,
|
||||
+ #endif
|
||||
+ #endif
|
||||
+ unsigned char *outStream, UInt32 outSize,
|
||||
+ UInt32 *outSizeProcessed);
|
||||
+
|
||||
+#endif
|
||||
diff -Nur linux-2.6.21.1/lib/LzmaDecode.c linux-2.6.21.1-owrt/lib/LzmaDecode.c
|
||||
--- linux-2.6.21.1/lib/LzmaDecode.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/lib/LzmaDecode.c 2007-05-14 10:51:05.000000000 +0200
|
||||
@@ -0,0 +1,663 @@
|
||||
+/*
|
||||
+ LzmaDecode.c
|
||||
|
@ -674,107 +769,23 @@
|
|||
+ *outSizeProcessed = nowPos;
|
||||
+ return LZMA_RESULT_OK;
|
||||
+}
|
||||
--- linux-2.6.19.old/include/linux/LzmaDecode.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/LzmaDecode.h 2006-12-14 03:13:20.000000000 +0100
|
||||
@@ -0,0 +1,100 @@
|
||||
+/*
|
||||
+ LzmaDecode.h
|
||||
+ LZMA Decoder interface
|
||||
+
|
||||
+ LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
|
||||
+ http://www.7-zip.org/
|
||||
+
|
||||
+ LZMA SDK is licensed under two licenses:
|
||||
+ 1) GNU Lesser General Public License (GNU LGPL)
|
||||
+ 2) Common Public License (CPL)
|
||||
+ It means that you can select one of these two licenses and
|
||||
+ follow rules of that license.
|
||||
+
|
||||
+ SPECIAL EXCEPTION:
|
||||
+ Igor Pavlov, as the author of this code, expressly permits you to
|
||||
+ statically or dynamically link your code (or bind by name) to the
|
||||
+ interfaces of this file without subjecting your linked code to the
|
||||
+ terms of the CPL or GNU LGPL. Any modifications or additions
|
||||
+ to this file, however, are subject to the LGPL or CPL terms.
|
||||
+*/
|
||||
+
|
||||
+#ifndef __LZMADECODE_H
|
||||
+#define __LZMADECODE_H
|
||||
+
|
||||
+/* #define _LZMA_IN_CB */
|
||||
+/* Use callback for input data */
|
||||
+
|
||||
+/* #define _LZMA_OUT_READ */
|
||||
+/* Use read function for output data */
|
||||
+
|
||||
+/* #define _LZMA_PROB32 */
|
||||
+/* It can increase speed on some 32-bit CPUs,
|
||||
+ but memory usage will be doubled in that case */
|
||||
+
|
||||
+/* #define _LZMA_LOC_OPT */
|
||||
+/* Enable local speed optimizations inside code */
|
||||
+
|
||||
+#ifndef UInt32
|
||||
+#ifdef _LZMA_UINT32_IS_ULONG
|
||||
+#define UInt32 unsigned long
|
||||
+#else
|
||||
+#define UInt32 unsigned int
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
+#ifdef _LZMA_PROB32
|
||||
+#define CProb UInt32
|
||||
+#else
|
||||
+#define CProb unsigned short
|
||||
+#endif
|
||||
+
|
||||
+#define LZMA_RESULT_OK 0
|
||||
+#define LZMA_RESULT_DATA_ERROR 1
|
||||
+#define LZMA_RESULT_NOT_ENOUGH_MEM 2
|
||||
+
|
||||
+#ifdef _LZMA_IN_CB
|
||||
+typedef struct _ILzmaInCallback
|
||||
+{
|
||||
+ int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize);
|
||||
+} ILzmaInCallback;
|
||||
+#endif
|
||||
+
|
||||
+#define LZMA_BASE_SIZE 1846
|
||||
+#define LZMA_LIT_SIZE 768
|
||||
+
|
||||
+/*
|
||||
+bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb)
|
||||
+bufferSize += 100 in case of _LZMA_OUT_READ
|
||||
+by default CProb is unsigned short,
|
||||
+but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int)
|
||||
+*/
|
||||
+
|
||||
+#ifdef _LZMA_OUT_READ
|
||||
+int LzmaDecoderInit(
|
||||
+ unsigned char *buffer, UInt32 bufferSize,
|
||||
+ int lc, int lp, int pb,
|
||||
+ unsigned char *dictionary, UInt32 dictionarySize,
|
||||
+ #ifdef _LZMA_IN_CB
|
||||
+ ILzmaInCallback *inCallback
|
||||
+ #else
|
||||
+ unsigned char *inStream, UInt32 inSize
|
||||
+ #endif
|
||||
+);
|
||||
+#endif
|
||||
+
|
||||
+int LzmaDecode(
|
||||
+ unsigned char *buffer,
|
||||
+ #ifndef _LZMA_OUT_READ
|
||||
+ UInt32 bufferSize,
|
||||
+ int lc, int lp, int pb,
|
||||
+ #ifdef _LZMA_IN_CB
|
||||
+ ILzmaInCallback *inCallback,
|
||||
+ #else
|
||||
+ unsigned char *inStream, UInt32 inSize,
|
||||
+ #endif
|
||||
+ #endif
|
||||
+ unsigned char *outStream, UInt32 outSize,
|
||||
+ UInt32 *outSizeProcessed);
|
||||
+
|
||||
+#endif
|
||||
diff -Nur linux-2.6.21.1/lib/Makefile linux-2.6.21.1-owrt/lib/Makefile
|
||||
--- linux-2.6.21.1/lib/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/lib/Makefile 2007-05-14 10:52:43.000000000 +0200
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
lib-y += kobject.o kref.o kobject_uevent.o klist.o
|
||||
|
||||
-obj-y += sort.o parser.o halfmd4.o debug_locks.o random32.o bust_spinlocks.o
|
||||
+obj-y += sort.o parser.o halfmd4.o debug_locks.o random32.o bust_spinlocks.o LzmaDecode.o
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_KOBJECT),y)
|
||||
CFLAGS_kobject.o += -DDEBUG
|
||||
@@ -56,6 +56,7 @@
|
||||
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
|
||||
|
||||
obj-$(CONFIG_SWIOTLB) += swiotlb.o
|
||||
+
|
||||
obj-$(CONFIG_FAULT_INJECTION) += fault-inject.o
|
||||
|
||||
lib-$(CONFIG_GENERIC_BUG) += bug.o
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
--- linux-2.6.19.2.orig/arch/mips/Kconfig 2007-05-11 22:08:15.000000000 +0200
|
||||
+++ linux-2.6.19.2/arch/mips/Kconfig 2007-05-12 18:51:13.000000000 +0200
|
||||
@@ -818,6 +818,10 @@
|
||||
bool
|
||||
default y
|
||||
|
||||
+config GENERIC_GPIO
|
||||
+ bool
|
||||
+ default n
|
||||
+
|
||||
config SCHED_NO_NO_OMIT_FRAME_POINTER
|
||||
bool
|
||||
default y
|
||||
--- linux-2.6.19.2.orig/include/asm-generic/gpio.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.2/include/asm-generic/gpio.h 2007-03-18 17:17:10.000000000 +0100
|
||||
@@ -0,0 +1,25 @@
|
||||
+#ifndef _ASM_GENERIC_GPIO_H
|
||||
+#define _ASM_GENERIC_GPIO_H
|
||||
+
|
||||
+/* platforms that don't directly support access to GPIOs through I2C, SPI,
|
||||
+ * or other blocking infrastructure can use these wrappers.
|
||||
+ */
|
||||
+
|
||||
+static inline int gpio_cansleep(unsigned gpio)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static inline int gpio_get_value_cansleep(unsigned gpio)
|
||||
+{
|
||||
+ might_sleep();
|
||||
+ return gpio_get_value(gpio);
|
||||
+}
|
||||
+
|
||||
+static inline void gpio_set_value_cansleep(unsigned gpio, int value)
|
||||
+{
|
||||
+ might_sleep();
|
||||
+ gpio_set_value(gpio, value);
|
||||
+}
|
||||
+
|
||||
+#endif /* _ASM_GENERIC_GPIO_H */
|
||||
--- linux-2.6.19.2.orig/include/asm-mips/gpio.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.2/include/asm-mips/gpio.h 2007-03-18 17:17:10.000000000 +0100
|
||||
@@ -0,0 +1,6 @@
|
||||
+#ifndef _ASM_MIPS_GPIO_H
|
||||
+#define _ASM_MIPS_GPIO_H
|
||||
+
|
||||
+#include <gpio.h>
|
||||
+
|
||||
+#endif /* _ASM_MIPS_GPIO_H */
|
|
@ -1,61 +0,0 @@
|
|||
Redboot supports storing the FIS directory and the RedBoot
|
||||
configuration information in the same block of flash memory. This is
|
||||
not the most common RedBoot configuration, but it is used on
|
||||
commercially available boards supported by the kernel.
|
||||
|
||||
A recent patch to mtd/redboot.c (http://lkml.org/lkml/2006/3/20/410)
|
||||
which corrected the skipping of deleted table entries has exposed the
|
||||
latent problem of the kernel redboot parser running off the end of the
|
||||
FIS directory and interpreting the RedBoot configuration information
|
||||
as table entries.
|
||||
|
||||
This patch terminates the table parsing when the first truly empty
|
||||
entry is found (table entry deletion only clears the first byte of the
|
||||
name, so two cleared bytes in a row indicates the end of the table),
|
||||
thereby supporting the combined redboot FIS directory and RedBoot
|
||||
configuration information flash layout scenario.
|
||||
|
||||
Signed-off-by: Rod Whitby <rod@whitby.id.au>
|
||||
--
|
||||
|
||||
Index: linux-2.6.19/drivers/mtd/redboot.c
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/drivers/mtd/redboot.c
|
||||
+++ linux-2.6.19/drivers/mtd/redboot.c
|
||||
@@ -96,7 +96,19 @@ static int parse_redboot_partitions(stru
|
||||
*/
|
||||
if (swab32(buf[i].size) == master->erasesize) {
|
||||
int j;
|
||||
- for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) {
|
||||
+ for (j = 0; j < numslots; ++j) {
|
||||
+
|
||||
+ /* A single 0xff denotes a deleted entry.
|
||||
+ * Two of them in a row is the end of the table.
|
||||
+ */
|
||||
+ if (buf[j].name[0] == 0xff) {
|
||||
+ if (buf[j].name[1] == 0xff) {
|
||||
+ break;
|
||||
+ } else {
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* The unsigned long fields were written with the
|
||||
* wrong byte sex, name and pad have no byte sex.
|
||||
*/
|
||||
@@ -123,8 +135,13 @@ static int parse_redboot_partitions(stru
|
||||
for (i = 0; i < numslots; i++) {
|
||||
struct fis_list *new_fl, **prev;
|
||||
|
||||
- if (buf[i].name[0] == 0xff)
|
||||
- continue;
|
||||
+ if (buf[i].name[0] == 0xff) {
|
||||
+ if (buf[i].name[1] == 0xff) {
|
||||
+ break;
|
||||
+ } else {
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
if (!redboot_checksum(&buf[i]))
|
||||
break;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
diff -ur linux.old/drivers/mtd/Kconfig linux.dev/drivers/mtd/Kconfig
|
||||
--- linux.old/drivers/mtd/Kconfig 2007-01-10 20:10:37.000000000 +0100
|
||||
+++ linux.dev/drivers/mtd/Kconfig 2007-02-19 23:00:53.739457000 +0100
|
||||
diff -Nur linux-2.6.21.1/drivers/mtd/Kconfig linux-2.6.21.1-owrt/drivers/mtd/Kconfig
|
||||
--- linux-2.6.21.1/drivers/mtd/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/drivers/mtd/Kconfig 2007-05-14 10:59:59.000000000 +0200
|
||||
@@ -49,6 +49,11 @@
|
||||
devices. Partitioning on NFTL 'devices' is a different - that's the
|
||||
'normal' form of partitioning used on a block device.
|
||||
|
@ -13,9 +13,9 @@ diff -ur linux.old/drivers/mtd/Kconfig linux.dev/drivers/mtd/Kconfig
|
|||
config MTD_REDBOOT_PARTS
|
||||
tristate "RedBoot partition table parsing"
|
||||
depends on MTD_PARTITIONS
|
||||
diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
||||
--- linux.old/drivers/mtd/mtdpart.c 2007-01-10 20:10:37.000000000 +0100
|
||||
+++ linux.dev/drivers/mtd/mtdpart.c 2007-02-20 00:01:38.587355896 +0100
|
||||
diff -Nur linux-2.6.21.1/drivers/mtd/mtdpart.c linux-2.6.21.1-owrt/drivers/mtd/mtdpart.c
|
||||
--- linux-2.6.21.1/drivers/mtd/mtdpart.c 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/drivers/mtd/mtdpart.c 2007-05-14 11:18:56.000000000 +0200
|
||||
@@ -20,6 +20,8 @@
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
|
@ -25,7 +25,7 @@ diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
|||
|
||||
/* Our partition linked list */
|
||||
static LIST_HEAD(mtd_partitions);
|
||||
@@ -303,6 +305,173 @@
|
||||
@@ -308,6 +310,172 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -35,14 +35,13 @@ diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
|||
+ struct mtd_part *slave;
|
||||
+
|
||||
+ /* allocate the partition structure */
|
||||
+ slave = kmalloc (sizeof(*slave), GFP_KERNEL);
|
||||
+ slave = kzalloc (sizeof(*slave), GFP_KERNEL);
|
||||
+ if (!slave) {
|
||||
+ printk ("memory allocation error while creating partitions for \"%s\"\n",
|
||||
+ master->name);
|
||||
+ del_mtd_partitions(master);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+ memset(slave, 0, sizeof(*slave));
|
||||
+ list_add(&slave->list, &mtd_partitions);
|
||||
+
|
||||
+ /* set up the MTD object for this partition */
|
||||
|
@ -51,8 +50,8 @@ diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
|||
+ slave->mtd.size = part->size;
|
||||
+ slave->mtd.writesize = master->writesize;
|
||||
+ slave->mtd.oobsize = master->oobsize;
|
||||
+ slave->mtd.ecctype = master->ecctype;
|
||||
+ slave->mtd.eccsize = master->eccsize;
|
||||
+ slave->mtd.oobavail = master->oobavail;
|
||||
+ slave->mtd.subpage_sft = master->subpage_sft;
|
||||
+
|
||||
+ slave->mtd.name = part->name;
|
||||
+ slave->mtd.bank_size = master->bank_size;
|
||||
|
@ -199,7 +198,7 @@ diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
|||
/*
|
||||
* This function, given a master MTD object and a partition table, creates
|
||||
* and registers slave MTD objects which are bound to the master according to
|
||||
@@ -314,171 +483,53 @@
|
||||
@@ -319,170 +487,53 @@
|
||||
const struct mtd_partition *parts,
|
||||
int nbparts)
|
||||
{
|
||||
|
@ -250,14 +249,13 @@ diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
|||
+ return ret;
|
||||
|
||||
- /* allocate the partition structure */
|
||||
- slave = kmalloc (sizeof(*slave), GFP_KERNEL);
|
||||
- slave = kzalloc (sizeof(*slave), GFP_KERNEL);
|
||||
- if (!slave) {
|
||||
- printk ("memory allocation error while creating partitions for \"%s\"\n",
|
||||
- master->name);
|
||||
- del_mtd_partitions(master);
|
||||
- return -ENOMEM;
|
||||
- }
|
||||
- memset(slave, 0, sizeof(*slave));
|
||||
- list_add(&slave->list, &mtd_partitions);
|
||||
-
|
||||
- /* set up the MTD object for this partition */
|
||||
|
@ -266,8 +264,8 @@ diff -ur linux.old/drivers/mtd/mtdpart.c linux.dev/drivers/mtd/mtdpart.c
|
|||
- slave->mtd.size = parts[i].size;
|
||||
- slave->mtd.writesize = master->writesize;
|
||||
- slave->mtd.oobsize = master->oobsize;
|
||||
- slave->mtd.ecctype = master->ecctype;
|
||||
- slave->mtd.eccsize = master->eccsize;
|
||||
- slave->mtd.oobavail = master->oobavail;
|
||||
- slave->mtd.subpage_sft = master->subpage_sft;
|
||||
-
|
||||
- slave->mtd.name = parts[i].name;
|
||||
- slave->mtd.bank_size = master->bank_size;
|
||||
|
|
|
@ -905,12 +905,12 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ipp2p.c linux-2.6.19.dev/net/i
|
|||
+static int __init init(void)
|
||||
+{
|
||||
+ printk(KERN_INFO "IPP2P v%s loading\n", IPP2P_VERSION);
|
||||
+ return ipt_register_match(&ipp2p_match);
|
||||
+ return xt_register_match(&ipp2p_match);
|
||||
+}
|
||||
+
|
||||
+static void __exit fini(void)
|
||||
+{
|
||||
+ ipt_unregister_match(&ipp2p_match);
|
||||
+ xt_unregister_match(&ipp2p_match);
|
||||
+ printk(KERN_INFO "IPP2P v%s unloaded\n", IPP2P_VERSION);
|
||||
+}
|
||||
+
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -urN linux-2.6.19.old/include/net/xfrmudp.h linux-2.6.19.dev/include/net/xfrmudp.h
|
||||
--- linux-2.6.19.old/include/net/xfrmudp.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/net/xfrmudp.h 2006-12-14 03:13:41.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/net/xfrmudp.h linux-2.6.21.1-owrt/include/net/xfrmudp.h
|
||||
--- linux-2.6.21.1/include/net/xfrmudp.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/net/xfrmudp.h 2007-05-14 11:26:11.000000000 +0200
|
||||
@@ -0,0 +1,10 @@
|
||||
+/*
|
||||
+ * pointer to function for type that xfrm4_input wants, to permit
|
||||
|
@ -12,10 +12,10 @@ diff -urN linux-2.6.19.old/include/net/xfrmudp.h linux-2.6.19.dev/include/net/xf
|
|||
+extern int udp4_register_esp_rcvencap(xfrm4_rcv_encap_t func
|
||||
+ , xfrm4_rcv_encap_t *oldfunc);
|
||||
+extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/Kconfig linux-2.6.19.dev/net/ipv4/Kconfig
|
||||
--- linux-2.6.19.old/net/ipv4/Kconfig 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/Kconfig 2006-12-14 03:13:41.000000000 +0100
|
||||
@@ -273,6 +273,12 @@
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/Kconfig linux-2.6.21.1-owrt/net/ipv4/Kconfig
|
||||
--- linux-2.6.21.1/net/ipv4/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/Kconfig 2007-05-14 11:26:11.000000000 +0200
|
||||
@@ -266,6 +266,12 @@
|
||||
Network), but can be distributed all over the Internet. If you want
|
||||
to do that, say Y here and to "IP multicast routing" below.
|
||||
|
||||
|
@ -28,14 +28,15 @@ diff -urN linux-2.6.19.old/net/ipv4/Kconfig linux-2.6.19.dev/net/ipv4/Kconfig
|
|||
config IP_MROUTE
|
||||
bool "IP: multicast routing"
|
||||
depends on IP_MULTICAST
|
||||
diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
||||
--- linux-2.6.19.old/net/ipv4/udp.c 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/udp.c 2006-12-14 03:13:41.000000000 +0100
|
||||
@@ -108,11 +108,14 @@
|
||||
#include <net/inet_common.h>
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/udp.c linux-2.6.21.1-owrt/net/ipv4/udp.c
|
||||
--- linux-2.6.21.1/net/ipv4/udp.c 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/udp.c 2007-05-14 11:42:44.000000000 +0200
|
||||
@@ -101,12 +101,15 @@
|
||||
#include <net/route.h>
|
||||
#include <net/checksum.h>
|
||||
#include <net/xfrm.h>
|
||||
+#include <net/xfrmudp.h>
|
||||
#include "udp_impl.h"
|
||||
|
||||
/*
|
||||
* Snmp MIB for the UDP layer
|
||||
|
@ -46,8 +47,8 @@ diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
|||
DEFINE_SNMP_STAT(struct udp_mib, udp_statistics) __read_mostly;
|
||||
|
||||
struct hlist_head udp_hash[UDP_HTABLE_SIZE];
|
||||
@@ -917,6 +920,42 @@
|
||||
sk_common_release(sk);
|
||||
@@ -915,6 +918,42 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#if defined(CONFIG_XFRM) || defined(CONFIG_IPSEC_NAT_TRAVERSAL)
|
||||
|
@ -89,19 +90,16 @@ diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
|||
/* return:
|
||||
* 1 if the the UDP system should process it
|
||||
* 0 if we should drop this packet
|
||||
@@ -924,9 +963,9 @@
|
||||
@@ -922,7 +961,7 @@
|
||||
*/
|
||||
static int udp_encap_rcv(struct sock * sk, struct sk_buff *skb)
|
||||
{
|
||||
-#ifndef CONFIG_XFRM
|
||||
+#if !defined(CONFIG_XFRM) && !defined(CONFIG_IPSEC_NAT_TRAVERSAL)
|
||||
return 1;
|
||||
-#else
|
||||
+#else /* either CONFIG_XFRM or CONFIG_IPSEC_NAT_TRAVERSAL */
|
||||
#else
|
||||
struct udp_sock *up = udp_sk(sk);
|
||||
struct udphdr *uh;
|
||||
struct iphdr *iph;
|
||||
@@ -939,11 +978,11 @@
|
||||
@@ -937,11 +976,11 @@
|
||||
/* if we're overly short, let UDP handle it */
|
||||
len = skb->len - sizeof(struct udphdr);
|
||||
if (len <= 0)
|
||||
|
@ -115,7 +113,7 @@ diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
|||
|
||||
/* If this is a paged skb, make sure we pull up
|
||||
* whatever data we need to look at. */
|
||||
@@ -966,7 +1005,7 @@
|
||||
@@ -964,7 +1003,7 @@
|
||||
len = sizeof(struct udphdr);
|
||||
} else
|
||||
/* Must be an IKE packet.. pass it through */
|
||||
|
@ -124,7 +122,7 @@ diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
|||
break;
|
||||
case UDP_ENCAP_ESPINUDP_NON_IKE:
|
||||
/* Check if this is a keepalive packet. If so, eat it. */
|
||||
@@ -979,7 +1018,7 @@
|
||||
@@ -977,7 +1016,7 @@
|
||||
len = sizeof(struct udphdr) + 2 * sizeof(u32);
|
||||
} else
|
||||
/* Must be an IKE packet.. pass it through */
|
||||
|
@ -133,7 +131,7 @@ diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
|||
break;
|
||||
}
|
||||
|
||||
@@ -990,6 +1029,8 @@
|
||||
@@ -988,6 +1027,8 @@
|
||||
*/
|
||||
if (skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC))
|
||||
return 0;
|
||||
|
@ -142,24 +140,24 @@ diff -urN linux-2.6.19.old/net/ipv4/udp.c linux-2.6.19.dev/net/ipv4/udp.c
|
|||
|
||||
/* Now we can update and verify the packet length... */
|
||||
iph = skb->nh.iph;
|
||||
@@ -1055,9 +1096,13 @@
|
||||
@@ -1051,9 +1092,13 @@
|
||||
return 0;
|
||||
}
|
||||
if (ret < 0) {
|
||||
- /* process the ESP packet */
|
||||
- ret = xfrm4_rcv_encap(skb, up->encap_type);
|
||||
- UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS);
|
||||
- UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS, up->pcflag);
|
||||
+ if(xfrm4_rcv_encap_func != NULL) {
|
||||
+ ret = (*xfrm4_rcv_encap_func)(skb, up->encap_type);
|
||||
+ UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS);
|
||||
+ UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS, up->pcflag);
|
||||
+ } else {
|
||||
+ UDP_INC_STATS_BH(UDP_MIB_INERRORS);
|
||||
+ UDP_INC_STATS_BH(UDP_MIB_INERRORS, up->pcflag);
|
||||
+ ret = 1;
|
||||
+ }
|
||||
return -ret;
|
||||
}
|
||||
/* FALLTHROUGH -- it's a UDP Packet */
|
||||
@@ -1639,3 +1684,9 @@
|
||||
@@ -1733,3 +1778,9 @@
|
||||
EXPORT_SYMBOL(udp_proc_register);
|
||||
EXPORT_SYMBOL(udp_proc_unregister);
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,489 @@
|
||||
+#ifndef _IP_SET_H
|
||||
+#define _IP_SET_H
|
||||
|
@ -491,9 +491,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set.h linux-2.6.19.de
|
|||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /*_IP_SET_H*/
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_iphash.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_iphash.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_iphash.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_iphash.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,30 @@
|
||||
+#ifndef __IP_SET_IPHASH_H
|
||||
+#define __IP_SET_IPHASH_H
|
||||
|
@ -525,9 +525,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.
|
|||
+};
|
||||
+
|
||||
+#endif /* __IP_SET_IPHASH_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_ipmap.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_ipmap.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_ipmap.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_ipmap.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,56 @@
|
||||
+#ifndef __IP_SET_IPMAP_H
|
||||
+#define __IP_SET_IPMAP_H
|
||||
|
@ -585,9 +585,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6
|
|||
+}
|
||||
+
|
||||
+#endif /* __IP_SET_IPMAP_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_iptree.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_iptree.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_iptree.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_iptree.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,39 @@
|
||||
+#ifndef __IP_SET_IPTREE_H
|
||||
+#define __IP_SET_IPTREE_H
|
||||
|
@ -628,9 +628,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.
|
|||
+};
|
||||
+
|
||||
+#endif /* __IP_SET_IPTREE_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_jhash.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_jhash.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_jhash.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_jhash.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,148 @@
|
||||
+#ifndef _LINUX_IPSET_JHASH_H
|
||||
+#define _LINUX_IPSET_JHASH_H
|
||||
|
@ -780,9 +780,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6
|
|||
+}
|
||||
+
|
||||
+#endif /* _LINUX_IPSET_JHASH_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_macipmap.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_macipmap.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_macipmap.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_macipmap.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,38 @@
|
||||
+#ifndef __IP_SET_MACIPMAP_H
|
||||
+#define __IP_SET_MACIPMAP_H
|
||||
|
@ -822,9 +822,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-
|
|||
+};
|
||||
+
|
||||
+#endif /* __IP_SET_MACIPMAP_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_malloc.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_malloc.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_malloc.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_malloc.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,42 @@
|
||||
+#ifndef _IP_SET_MALLOC_H
|
||||
+#define _IP_SET_MALLOC_H
|
||||
|
@ -868,9 +868,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.
|
|||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /*_IP_SET_MALLOC_H*/
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_nethash.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_nethash.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_nethash.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_nethash.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,55 @@
|
||||
+#ifndef __IP_SET_NETHASH_H
|
||||
+#define __IP_SET_NETHASH_H
|
||||
|
@ -927,9 +927,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2
|
|||
+}
|
||||
+
|
||||
+#endif /* __IP_SET_NETHASH_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_portmap.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_portmap.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_portmap.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_portmap.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,25 @@
|
||||
+#ifndef __IP_SET_PORTMAP_H
|
||||
+#define __IP_SET_PORTMAP_H
|
||||
|
@ -956,9 +956,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2
|
|||
+};
|
||||
+
|
||||
+#endif /* __IP_SET_PORTMAP_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_prime.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ip_set_prime.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_prime.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ip_set_prime.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,34 @@
|
||||
+#ifndef __IP_SET_PRIME_H
|
||||
+#define __IP_SET_PRIME_H
|
||||
|
@ -994,9 +994,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.6
|
|||
+}
|
||||
+
|
||||
+#endif /* __IP_SET_PRIME_H */
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ipt_set.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ipt_set.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ipt_set.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ipt_set.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,21 @@
|
||||
+#ifndef _IPT_SET_H
|
||||
+#define _IPT_SET_H
|
||||
|
@ -1019,9 +1019,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.19.d
|
|||
+};
|
||||
+
|
||||
+#endif /*_IPT_SET_H*/
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/listhelp.h linux-2.6.19.dev/include/linux/netfilter_ipv4/listhelp.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/listhelp.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/listhelp.h 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/listhelp.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/listhelp.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/listhelp.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/listhelp.h 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,123 @@
|
||||
+#ifndef _LISTHELP_H
|
||||
+#define _LISTHELP_H
|
||||
|
@ -1146,9 +1146,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/listhelp.h linux-2.6.19.
|
|||
+LIST_FIND(head, __list_cmp_name, void *, name)
|
||||
+
|
||||
+#endif /*_LISTHELP_H*/
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,1989 @@
|
||||
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
|
||||
+ * Patrick Schaaf <bof@bof.de>
|
||||
|
@ -3139,9 +3139,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set.c linux-2.6.19.dev/net/ipv4
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set_iphash.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set_iphash.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set_iphash.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_iphash.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set_iphash.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_iphash.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,379 @@
|
||||
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
|
||||
+ *
|
||||
|
@ -3522,9 +3522,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.19.dev/n
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set_ipmap.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set_ipmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set_ipmap.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_ipmap.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set_ipmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_ipmap.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,313 @@
|
||||
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
|
||||
+ * Patrick Schaaf <bof@bof.de>
|
||||
|
@ -3839,9 +3839,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.19.dev/ne
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set_iptree.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set_iptree.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set_iptree.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_iptree.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set_iptree.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_iptree.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,510 @@
|
||||
+/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
|
||||
+ *
|
||||
|
@ -4353,9 +4353,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.19.dev/n
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set_macipmap.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set_macipmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set_macipmap.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_macipmap.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set_macipmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_macipmap.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,338 @@
|
||||
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
|
||||
+ * Patrick Schaaf <bof@bof.de>
|
||||
|
@ -4695,9 +4695,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.19.dev
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set_nethash.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set_nethash.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set_nethash.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_nethash.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set_nethash.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_nethash.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,449 @@
|
||||
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
|
||||
+ *
|
||||
|
@ -5148,9 +5148,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.19.dev/
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.19.dev/net/ipv4/netfilter/ip_set_portmap.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ip_set_portmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ip_set_portmap.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_portmap.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ip_set_portmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ip_set_portmap.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,325 @@
|
||||
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
|
||||
+ *
|
||||
|
@ -5477,9 +5477,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.19.dev/
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_set.c linux-2.6.19.dev/net/ipv4/netfilter/ipt_set.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ipt_set.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ipt_set.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ipt_set.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ipt_set.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ipt_set.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ipt_set.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,105 @@
|
||||
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
|
||||
+ * Patrick Schaaf <bof@bof.de>
|
||||
|
@ -5586,9 +5586,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_set.c linux-2.6.19.dev/net/ipv
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_SET.c linux-2.6.19.dev/net/ipv4/netfilter/ipt_SET.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ipt_SET.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ipt_SET.c 2006-12-14 03:13:43.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ipt_SET.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ipt_SET.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ipt_SET.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ipt_SET.c 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -0,0 +1,120 @@
|
||||
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
|
||||
+ * Patrick Schaaf <bof@bof.de>
|
||||
|
@ -5700,7 +5700,7 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_SET.c linux-2.6.19.dev/net/ipv
|
|||
+
|
||||
+static int __init init(void)
|
||||
+{
|
||||
+ return ipt_register_target(&SET_target);
|
||||
+ return xt_register_target(&SET_target);
|
||||
+}
|
||||
+
|
||||
+static void __exit fini(void)
|
||||
|
@ -5710,10 +5710,10 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_SET.c linux-2.6.19.dev/net/ipv
|
|||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/Kconfig linux-2.6.19.dev/net/ipv4/netfilter/Kconfig
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/Kconfig 2006-12-14 03:13:41.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/Kconfig 2006-12-14 03:13:43.000000000 +0100
|
||||
@@ -647,5 +647,106 @@
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/Kconfig linux-2.6.21.1-owrt/net/ipv4/netfilter/Kconfig
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/Kconfig 2007-05-14 11:24:57.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/Kconfig 2007-05-14 11:44:19.000000000 +0200
|
||||
@@ -681,5 +681,106 @@
|
||||
Allows altering the ARP packet payload: source and destination
|
||||
hardware and network addresses.
|
||||
|
||||
|
@ -5820,21 +5820,21 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/Kconfig linux-2.6.19.dev/net/ipv4/
|
|||
+
|
||||
endmenu
|
||||
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/Makefile linux-2.6.19.dev/net/ipv4/netfilter/Makefile
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/Makefile 2006-12-14 03:13:41.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/Makefile 2006-12-14 03:13:43.000000000 +0100
|
||||
@@ -54,6 +54,7 @@
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/Makefile linux-2.6.21.1-owrt/net/ipv4/netfilter/Makefile
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/Makefile 2007-05-14 11:24:57.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/Makefile 2007-05-14 11:47:22.000000000 +0200
|
||||
@@ -83,6 +83,7 @@
|
||||
obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
|
||||
|
||||
# matches
|
||||
obj-$(CONFIG_IP_NF_MATCH_HASHLIMIT) += ipt_hashlimit.o
|
||||
+obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
|
||||
obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
|
||||
obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
|
||||
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
|
||||
@@ -77,6 +78,17 @@
|
||||
obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
|
||||
@@ -107,6 +108,16 @@
|
||||
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
|
||||
+obj-$(CONFIG_IP_NF_TARGET_SET) += ipt_SET.o
|
||||
+
|
||||
+# sets
|
||||
|
@ -5845,7 +5845,6 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/Makefile linux-2.6.19.dev/net/ipv4
|
|||
+obj-$(CONFIG_IP_NF_SET_IPHASH) += ip_set_iphash.o
|
||||
+obj-$(CONFIG_IP_NF_SET_NETHASH) += ip_set_nethash.o
|
||||
+obj-$(CONFIG_IP_NF_SET_IPTREE) += ip_set_iptree.o
|
||||
+
|
||||
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
|
||||
|
||||
# generic ARP tables
|
||||
obj-$(CONFIG_IP_NF_ARPTABLES) += arp_tables.o
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
diff -urN linux-2.6.19/drivers/net/imq.c linux-2.6.19+imq/drivers/net/imq.c
|
||||
--- linux-2.6.19/drivers/net/imq.c 1970-01-01 09:30:00.000000000 +0930
|
||||
+++ linux-2.6.19+imq/drivers/net/imq.c 2006-12-05 23:01:02.000000000 +1030
|
||||
--- linux-2.6.20-original/drivers/net/imq.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-2.6.20/drivers/net/imq.c 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -0,0 +1,402 @@
|
||||
+/*
|
||||
+ * Pseudo-driver for the intermediate queue device.
|
||||
|
@ -404,9 +403,8 @@ diff -urN linux-2.6.19/drivers/net/imq.c linux-2.6.19+imq/drivers/net/imq.c
|
|||
+MODULE_AUTHOR("http://www.linuximq.net");
|
||||
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff -urN linux-2.6.19/drivers/net/Kconfig linux-2.6.19+imq/drivers/net/Kconfig
|
||||
--- linux-2.6.19/drivers/net/Kconfig 2006-12-01 14:05:30.000000000 +1030
|
||||
+++ linux-2.6.19+imq/drivers/net/Kconfig 2006-12-05 23:03:52.000000000 +1030
|
||||
--- linux-2.6.20-original/drivers/net/Kconfig 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/drivers/net/Kconfig 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -96,6 +96,129 @@
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called eql. If unsure, say N.
|
||||
|
@ -537,9 +535,8 @@ diff -urN linux-2.6.19/drivers/net/Kconfig linux-2.6.19+imq/drivers/net/Kconfig
|
|||
config TUN
|
||||
tristate "Universal TUN/TAP device driver support"
|
||||
select CRC32
|
||||
diff -urN linux-2.6.19/drivers/net/Makefile linux-2.6.19+imq/drivers/net/Makefile
|
||||
--- linux-2.6.19/drivers/net/Makefile 2006-12-01 14:05:30.000000000 +1030
|
||||
+++ linux-2.6.19+imq/drivers/net/Makefile 2006-12-04 12:41:01.000000000 +1030
|
||||
--- linux-2.6.20-original/drivers/net/Makefile 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/drivers/net/Makefile 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -124,6 +124,7 @@
|
||||
obj-$(CONFIG_SLHC) += slhc.o
|
||||
|
||||
|
@ -548,9 +545,8 @@ diff -urN linux-2.6.19/drivers/net/Makefile linux-2.6.19+imq/drivers/net/Makefil
|
|||
obj-$(CONFIG_IFB) += ifb.o
|
||||
obj-$(CONFIG_DE600) += de600.o
|
||||
obj-$(CONFIG_DE620) += de620.o
|
||||
diff -urN linux-2.6.19/include/linux/imq.h linux-2.6.19+imq/include/linux/imq.h
|
||||
--- linux-2.6.19/include/linux/imq.h 1970-01-01 09:30:00.000000000 +0930
|
||||
+++ linux-2.6.19+imq/include/linux/imq.h 2006-12-04 12:41:01.000000000 +1030
|
||||
--- linux-2.6.20-original/include/linux/imq.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-2.6.20/include/linux/imq.h 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -0,0 +1,9 @@
|
||||
+#ifndef _IMQ_H
|
||||
+#define _IMQ_H
|
||||
|
@ -561,9 +557,8 @@ diff -urN linux-2.6.19/include/linux/imq.h linux-2.6.19+imq/include/linux/imq.h
|
|||
+#define IMQ_F_ENQUEUE 0x80
|
||||
+
|
||||
+#endif /* _IMQ_H */
|
||||
diff -urN linux-2.6.19/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.19+imq/include/linux/netfilter_ipv4/ipt_IMQ.h
|
||||
--- linux-2.6.19/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 09:30:00.000000000 +0930
|
||||
+++ linux-2.6.19+imq/include/linux/netfilter_ipv4/ipt_IMQ.h 2006-12-05 23:04:22.000000000 +1030
|
||||
--- linux-2.6.20-original/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-2.6.20/include/linux/netfilter_ipv4/ipt_IMQ.h 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+#ifndef _IPT_IMQ_H
|
||||
+#define _IPT_IMQ_H
|
||||
|
@ -573,9 +568,8 @@ diff -urN linux-2.6.19/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.19+imq/i
|
|||
+};
|
||||
+
|
||||
+#endif /* _IPT_IMQ_H */
|
||||
diff -urN linux-2.6.19/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.19+imq/include/linux/netfilter_ipv6/ip6t_IMQ.h
|
||||
--- linux-2.6.19/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 09:30:00.000000000 +0930
|
||||
+++ linux-2.6.19+imq/include/linux/netfilter_ipv6/ip6t_IMQ.h 2006-12-05 23:04:32.000000000 +1030
|
||||
--- linux-2.6.20-original/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-2.6.20/include/linux/netfilter_ipv6/ip6t_IMQ.h 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+#ifndef _IP6T_IMQ_H
|
||||
+#define _IP6T_IMQ_H
|
||||
|
@ -585,10 +579,9 @@ diff -urN linux-2.6.19/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.19+imq/
|
|||
+};
|
||||
+
|
||||
+#endif /* _IP6T_IMQ_H */
|
||||
diff -urN linux-2.6.19/include/linux/skbuff.h linux-2.6.19+imq/include/linux/skbuff.h
|
||||
--- linux-2.6.19/include/linux/skbuff.h 2006-12-01 14:05:44.000000000 +1030
|
||||
+++ linux-2.6.19+imq/include/linux/skbuff.h 2006-12-05 23:05:06.000000000 +1030
|
||||
@@ -292,6 +292,10 @@
|
||||
--- linux-2.6.20-original/include/linux/skbuff.h 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/include/linux/skbuff.h 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -293,6 +293,10 @@
|
||||
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
|
||||
struct sk_buff *nfct_reasm;
|
||||
#endif
|
||||
|
@ -599,9 +592,8 @@ diff -urN linux-2.6.19/include/linux/skbuff.h linux-2.6.19+imq/include/linux/skb
|
|||
#ifdef CONFIG_BRIDGE_NETFILTER
|
||||
struct nf_bridge_info *nf_bridge;
|
||||
#endif
|
||||
diff -urN linux-2.6.19/net/core/dev.c linux-2.6.19+imq/net/core/dev.c
|
||||
--- linux-2.6.19/net/core/dev.c 2006-12-01 14:05:45.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/core/dev.c 2006-12-05 23:05:40.000000000 +1030
|
||||
--- linux-2.6.20-original/net/core/dev.c 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/core/dev.c 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -94,6 +94,9 @@
|
||||
#include <linux/skbuff.h>
|
||||
#include <net/sock.h>
|
||||
|
@ -612,7 +604,7 @@ diff -urN linux-2.6.19/net/core/dev.c linux-2.6.19+imq/net/core/dev.c
|
|||
#include <linux/proc_fs.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/stat.h>
|
||||
@@ -1344,7 +1347,11 @@
|
||||
@@ -1343,7 +1346,11 @@
|
||||
int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
if (likely(!skb->next)) {
|
||||
|
@ -625,10 +617,9 @@ diff -urN linux-2.6.19/net/core/dev.c linux-2.6.19+imq/net/core/dev.c
|
|||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
if (netif_needs_gso(dev, skb)) {
|
||||
diff -urN linux-2.6.19/net/core/skbuff.c linux-2.6.19+imq/net/core/skbuff.c
|
||||
--- linux-2.6.19/net/core/skbuff.c 2006-12-01 14:05:45.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/core/skbuff.c 2006-12-04 12:41:01.000000000 +1030
|
||||
@@ -482,6 +482,10 @@
|
||||
--- linux-2.6.20-original/net/core/skbuff.c 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/core/skbuff.c 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -485,6 +485,10 @@
|
||||
C(nfct_reasm);
|
||||
nf_conntrack_get_reasm(skb->nfct_reasm);
|
||||
#endif
|
||||
|
@ -639,7 +630,7 @@ diff -urN linux-2.6.19/net/core/skbuff.c linux-2.6.19+imq/net/core/skbuff.c
|
|||
#ifdef CONFIG_BRIDGE_NETFILTER
|
||||
C(nf_bridge);
|
||||
nf_bridge_get(skb->nf_bridge);
|
||||
@@ -546,6 +550,10 @@
|
||||
@@ -549,6 +553,10 @@
|
||||
#if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
|
||||
new->ipvs_property = old->ipvs_property;
|
||||
#endif
|
||||
|
@ -650,9 +641,8 @@ diff -urN linux-2.6.19/net/core/skbuff.c linux-2.6.19+imq/net/core/skbuff.c
|
|||
#ifdef CONFIG_BRIDGE_NETFILTER
|
||||
new->nf_bridge = old->nf_bridge;
|
||||
nf_bridge_get(old->nf_bridge);
|
||||
diff -urN linux-2.6.19/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.19+imq/net/ipv4/netfilter/ipt_IMQ.c
|
||||
--- linux-2.6.19/net/ipv4/netfilter/ipt_IMQ.c 1970-01-01 09:30:00.000000000 +0930
|
||||
+++ linux-2.6.19.2/net/ipv4/netfilter/ipt_IMQ.c 2007-01-25 09:59:34.000000000 +0100
|
||||
--- linux-2.6.20-original/net/ipv4/netfilter/ipt_IMQ.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-2.6.20/net/ipv4/netfilter/ipt_IMQ.c 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -0,0 +1,71 @@
|
||||
+/*
|
||||
+ * This target marks packets to be enqueued to an imq device
|
||||
|
@ -708,7 +698,7 @@ diff -urN linux-2.6.19/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.19+imq/net/ipv4/ne
|
|||
+
|
||||
+static int __init init(void)
|
||||
+{
|
||||
+ if (ipt_register_target(&ipt_imq_reg))
|
||||
+ if (xt_register_target(&ipt_imq_reg))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ return 0;
|
||||
|
@ -716,7 +706,7 @@ diff -urN linux-2.6.19/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.19+imq/net/ipv4/ne
|
|||
+
|
||||
+static void __exit fini(void)
|
||||
+{
|
||||
+ ipt_unregister_target(&ipt_imq_reg);
|
||||
+ xt_unregister_target(&ipt_imq_reg);
|
||||
+}
|
||||
+
|
||||
+module_init(init);
|
||||
|
@ -725,10 +715,9 @@ diff -urN linux-2.6.19/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.19+imq/net/ipv4/ne
|
|||
+MODULE_AUTHOR("http://www.linuximq.net");
|
||||
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff -urN linux-2.6.19/net/ipv4/netfilter/Kconfig linux-2.6.19+imq/net/ipv4/netfilter/Kconfig
|
||||
--- linux-2.6.19/net/ipv4/netfilter/Kconfig 2006-12-01 14:05:45.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/ipv4/netfilter/Kconfig 2006-12-04 12:41:01.000000000 +1030
|
||||
@@ -533,6 +533,17 @@
|
||||
--- linux-2.6.20-original/net/ipv4/netfilter/Kconfig 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/ipv4/netfilter/Kconfig 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -591,6 +591,17 @@
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
|
||||
|
@ -746,10 +735,9 @@ diff -urN linux-2.6.19/net/ipv4/netfilter/Kconfig linux-2.6.19+imq/net/ipv4/netf
|
|||
config IP_NF_TARGET_TOS
|
||||
tristate "TOS target support"
|
||||
depends on IP_NF_MANGLE
|
||||
diff -urN linux-2.6.19/net/ipv4/netfilter/Makefile linux-2.6.19+imq/net/ipv4/netfilter/Makefile
|
||||
--- linux-2.6.19/net/ipv4/netfilter/Makefile 2006-12-01 14:05:45.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/ipv4/netfilter/Makefile 2006-12-04 12:41:01.000000000 +1030
|
||||
@@ -67,6 +67,7 @@
|
||||
--- linux-2.6.20-original/net/ipv4/netfilter/Makefile 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/ipv4/netfilter/Makefile 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -96,6 +96,7 @@
|
||||
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
|
||||
|
@ -757,9 +745,8 @@ diff -urN linux-2.6.19/net/ipv4/netfilter/Makefile linux-2.6.19+imq/net/ipv4/net
|
|||
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
|
||||
diff -urN linux-2.6.19/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.19+imq/net/ipv6/netfilter/ip6t_IMQ.c
|
||||
--- linux-2.6.19/net/ipv6/netfilter/ip6t_IMQ.c 1970-01-01 09:30:00.000000000 +0930
|
||||
+++ linux-2.6.19.2/net/ipv6/netfilter/ip6t_IMQ.c 2007-01-25 10:06:41.000000000 +0100
|
||||
--- linux-2.6.20-original/net/ipv6/netfilter/ip6t_IMQ.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-2.6.20/net/ipv6/netfilter/ip6t_IMQ.c 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -0,0 +1,71 @@
|
||||
+/*
|
||||
+ * This target marks packets to be enqueued to an imq device
|
||||
|
@ -832,10 +819,9 @@ diff -urN linux-2.6.19/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.19+imq/net/ipv6/n
|
|||
+MODULE_AUTHOR("http://www.linuximq.net");
|
||||
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff -urN linux-2.6.19/net/ipv6/netfilter/Kconfig linux-2.6.19+imq/net/ipv6/netfilter/Kconfig
|
||||
--- linux-2.6.19/net/ipv6/netfilter/Kconfig 2006-12-01 14:05:46.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/ipv6/netfilter/Kconfig 2006-12-04 12:41:01.000000000 +1030
|
||||
@@ -163,6 +163,15 @@
|
||||
--- linux-2.6.20-original/net/ipv6/netfilter/Kconfig 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/ipv6/netfilter/Kconfig 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -164,6 +164,15 @@
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
|
||||
|
@ -851,9 +837,8 @@ diff -urN linux-2.6.19/net/ipv6/netfilter/Kconfig linux-2.6.19+imq/net/ipv6/netf
|
|||
config IP6_NF_TARGET_HL
|
||||
tristate 'HL (hoplimit) target support'
|
||||
depends on IP6_NF_MANGLE
|
||||
diff -urN linux-2.6.19/net/ipv6/netfilter/Makefile linux-2.6.19+imq/net/ipv6/netfilter/Makefile
|
||||
--- linux-2.6.19/net/ipv6/netfilter/Makefile 2006-12-01 14:05:46.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/ipv6/netfilter/Makefile 2006-12-04 12:41:01.000000000 +1030
|
||||
--- linux-2.6.20-original/net/ipv6/netfilter/Makefile 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/ipv6/netfilter/Makefile 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -13,6 +13,7 @@
|
||||
obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o
|
||||
obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
|
||||
|
@ -862,9 +847,8 @@ diff -urN linux-2.6.19/net/ipv6/netfilter/Makefile linux-2.6.19+imq/net/ipv6/net
|
|||
obj-$(CONFIG_IP6_NF_TARGET_HL) += ip6t_HL.o
|
||||
obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o
|
||||
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
|
||||
diff -urN linux-2.6.19/net/sched/sch_generic.c linux-2.6.19+imq/net/sched/sch_generic.c
|
||||
--- linux-2.6.19/net/sched/sch_generic.c 2006-12-01 14:05:46.000000000 +1030
|
||||
+++ linux-2.6.19+imq/net/sched/sch_generic.c 2006-12-05 23:08:54.000000000 +1030
|
||||
--- linux-2.6.20-original/net/sched/sch_generic.c 2007-02-04 20:44:54.000000000 +0200
|
||||
+++ linux-2.6.20/net/sched/sch_generic.c 2007-02-12 23:55:04.000000000 +0200
|
||||
@@ -87,7 +87,6 @@
|
||||
|
||||
NOTE: Called under dev->queue_lock with locally disabled BH.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ipt_ROUTE.h linux-2.6.19.dev/include/linux/netfilter_ipv4/ipt_ROUTE.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv4/ipt_ROUTE.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv4/ipt_ROUTE.h 2006-12-14 03:13:49.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv4/ipt_ROUTE.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ipt_ROUTE.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv4/ipt_ROUTE.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv4/ipt_ROUTE.h 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* Header file for iptables ipt_ROUTE target
|
||||
+ *
|
||||
|
@ -25,9 +25,9 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv4/ipt_ROUTE.h linux-2.6.19
|
|||
+#define IPT_ROUTE_TEE 0x02
|
||||
+
|
||||
+#endif /*_IPT_ROUTE_H_target*/
|
||||
diff -urN linux-2.6.19.old/include/linux/netfilter_ipv6/ip6t_ROUTE.h linux-2.6.19.dev/include/linux/netfilter_ipv6/ip6t_ROUTE.h
|
||||
--- linux-2.6.19.old/include/linux/netfilter_ipv6/ip6t_ROUTE.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/netfilter_ipv6/ip6t_ROUTE.h 2006-12-14 03:13:49.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter_ipv6/ip6t_ROUTE.h linux-2.6.21.1-owrt/include/linux/netfilter_ipv6/ip6t_ROUTE.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter_ipv6/ip6t_ROUTE.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter_ipv6/ip6t_ROUTE.h 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* Header file for iptables ip6t_ROUTE target
|
||||
+ *
|
||||
|
@ -52,10 +52,10 @@ diff -urN linux-2.6.19.old/include/linux/netfilter_ipv6/ip6t_ROUTE.h linux-2.6.1
|
|||
+#define IP6T_ROUTE_TEE 0x02
|
||||
+
|
||||
+#endif /*_IP6T_ROUTE_H_target*/
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/ipv4/netfilter/ipt_ROUTE.c
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/ipt_ROUTE.c 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -0,0 +1,455 @@
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.21.1-owrt/net/ipv4/netfilter/ipt_ROUTE.c
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/ipt_ROUTE.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/ipt_ROUTE.c 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -0,0 +1,483 @@
|
||||
+/*
|
||||
+ * This implements the ROUTE target, which enables you to setup unusual
|
||||
+ * routes not supported by the standard kernel routing table.
|
||||
|
@ -75,6 +75,7 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/i
|
|||
+#include <linux/netfilter_ipv4/ipt_ROUTE.h>
|
||||
+#include <linux/netdevice.h>
|
||||
+#include <linux/route.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <linux/if_arp.h>
|
||||
+#include <net/ip.h>
|
||||
+#include <net/route.h>
|
||||
|
@ -338,8 +339,15 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/i
|
|||
+ const struct net_device *in,
|
||||
+ const struct net_device *out,
|
||||
+ unsigned int hooknum,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
|
||||
+ const struct xt_target *target,
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
|
||||
+ const void *targinfo,
|
||||
+ void *userinfo)
|
||||
+#else
|
||||
+ const void *targinfo)
|
||||
+#endif
|
||||
+{
|
||||
+ const struct ipt_route_target_info *route_info = targinfo;
|
||||
+ struct sk_buff *skb = *pskb;
|
||||
|
@ -458,9 +466,18 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/i
|
|||
+
|
||||
+
|
||||
+static int ipt_route_checkentry(const char *tablename,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
|
||||
+ const void *e,
|
||||
+#else
|
||||
+ const struct ipt_ip *ip,
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
|
||||
+ const struct xt_target *target,
|
||||
+#endif
|
||||
+ void *targinfo,
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
|
||||
+ unsigned int targinfosize,
|
||||
+#endif
|
||||
+ unsigned int hook_mask)
|
||||
+{
|
||||
+ if (strcmp(tablename, "mangle") != 0) {
|
||||
|
@ -478,6 +495,15 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/i
|
|||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
|
||||
+ if (targinfosize != IPT_ALIGN(sizeof(struct ipt_route_target_info))) {
|
||||
+ printk(KERN_WARNING "ipt_ROUTE: targinfosize %u != %Zu\n",
|
||||
+ targinfosize,
|
||||
+ IPT_ALIGN(sizeof(struct ipt_route_target_info)));
|
||||
+ return 0;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
|
@ -485,7 +511,9 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/i
|
|||
+static struct ipt_target ipt_route_reg = {
|
||||
+ .name = "ROUTE",
|
||||
+ .target = ipt_route_target,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
|
||||
+ .targetsize = sizeof(struct ipt_route_target_info),
|
||||
+#endif
|
||||
+ .checkentry = ipt_route_checkentry,
|
||||
+ .me = THIS_MODULE,
|
||||
+};
|
||||
|
@ -500,23 +528,23 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/ipt_ROUTE.c linux-2.6.19.dev/net/i
|
|||
+ /* Initialize fake conntrack so that NAT will skip it */
|
||||
+ route_tee_track.status |= IPS_NAT_DONE_MASK;
|
||||
+
|
||||
+ return ipt_register_target(&ipt_route_reg);
|
||||
+ return xt_register_target(&ipt_route_reg);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static void __exit fini(void)
|
||||
+{
|
||||
+ ipt_unregister_target(&ipt_route_reg);
|
||||
+ xt_unregister_target(&ipt_route_reg);
|
||||
+}
|
||||
+
|
||||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/Kconfig linux-2.6.19.dev/net/ipv4/netfilter/Kconfig
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/Kconfig 2006-12-14 03:13:49.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/Kconfig 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -494,6 +494,23 @@
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/Kconfig linux-2.6.21.1-owrt/net/ipv4/netfilter/Kconfig
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/Kconfig 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -657,5 +657,22 @@
|
||||
Allows altering the ARP packet payload: source and destination
|
||||
hardware and network addresses.
|
||||
|
||||
+config IP_NF_TARGET_ROUTE
|
||||
+ tristate 'ROUTE target support'
|
||||
|
@ -535,24 +563,23 @@ diff -urN linux-2.6.19.old/net/ipv4/netfilter/Kconfig linux-2.6.19.dev/net/ipv4/
|
|||
+ Documentation/modules.txt. The module will be called ipt_ROUTE.o.
|
||||
+ If unsure, say `N'.
|
||||
+
|
||||
config IP_NF_TARGET_NETMAP
|
||||
tristate "NETMAP target support"
|
||||
depends on IP_NF_NAT
|
||||
diff -urN linux-2.6.19.old/net/ipv4/netfilter/Makefile linux-2.6.19.dev/net/ipv4/netfilter/Makefile
|
||||
--- linux-2.6.19.old/net/ipv4/netfilter/Makefile 2006-12-14 03:13:49.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv4/netfilter/Makefile 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
|
||||
endmenu
|
||||
|
||||
diff -Nur linux-2.6.21.1/net/ipv4/netfilter/Makefile linux-2.6.21.1-owrt/net/ipv4/netfilter/Makefile
|
||||
--- linux-2.6.21.1/net/ipv4/netfilter/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv4/netfilter/Makefile 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -98,6 +98,7 @@
|
||||
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
|
||||
+obj-$(CONFIG_IP_NF_TARGET_ROUTE) += ipt_ROUTE.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
|
||||
obj-$(CONFIG_IP_NF_TARGET_SAME) += ipt_SAME.o
|
||||
obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
|
||||
diff -urN linux-2.6.19.old/net/ipv6/ipv6_syms.c linux-2.6.19.dev/net/ipv6/ipv6_syms.c
|
||||
--- linux-2.6.19.old/net/ipv6/ipv6_syms.c 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv6/ipv6_syms.c 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
diff -Nur linux-2.6.21.1/net/ipv6/ipv6_syms.c linux-2.6.21.1-owrt/net/ipv6/ipv6_syms.c
|
||||
--- linux-2.6.21.1/net/ipv6/ipv6_syms.c 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv6/ipv6_syms.c 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -10,6 +10,7 @@
|
||||
EXPORT_SYMBOL(icmpv6_statistics);
|
||||
EXPORT_SYMBOL(icmpv6_err_convert);
|
||||
EXPORT_SYMBOL(ndisc_mc_map);
|
||||
|
@ -560,10 +587,10 @@ diff -urN linux-2.6.19.old/net/ipv6/ipv6_syms.c linux-2.6.19.dev/net/ipv6/ipv6_s
|
|||
EXPORT_SYMBOL(register_inet6addr_notifier);
|
||||
EXPORT_SYMBOL(unregister_inet6addr_notifier);
|
||||
EXPORT_SYMBOL(ip6_route_output);
|
||||
diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/ipv6/netfilter/ip6t_ROUTE.c
|
||||
--- linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv6/netfilter/ip6t_ROUTE.c 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -0,0 +1,302 @@
|
||||
diff -Nur linux-2.6.21.1/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.21.1-owrt/net/ipv6/netfilter/ip6t_ROUTE.c
|
||||
--- linux-2.6.21.1/net/ipv6/netfilter/ip6t_ROUTE.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/ipv6/netfilter/ip6t_ROUTE.c 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -0,0 +1,330 @@
|
||||
+/*
|
||||
+ * This implements the ROUTE v6 target, which enables you to setup unusual
|
||||
+ * routes not supported by the standard kernel routing table.
|
||||
|
@ -581,6 +608,7 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/
|
|||
+#include <linux/netfilter_ipv6/ip6_tables.h>
|
||||
+#include <linux/netfilter_ipv6/ip6t_ROUTE.h>
|
||||
+#include <linux/netdevice.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <net/ipv6.h>
|
||||
+#include <net/ndisc.h>
|
||||
+#include <net/ip6_route.h>
|
||||
|
@ -758,8 +786,15 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/
|
|||
+ const struct net_device *in,
|
||||
+ const struct net_device *out,
|
||||
+ unsigned int hooknum,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
|
||||
+ const struct xt_target *target,
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
|
||||
+ const void *targinfo,
|
||||
+ void *userinfo)
|
||||
+#else
|
||||
+ const void *targinfo)
|
||||
+#endif
|
||||
+{
|
||||
+ const struct ip6t_route_target_info *route_info = targinfo;
|
||||
+ struct sk_buff *skb = *pskb;
|
||||
|
@ -825,9 +860,18 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/
|
|||
+
|
||||
+static int
|
||||
+ip6t_route_checkentry(const char *tablename,
|
||||
+ const void *e,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
|
||||
+ const void *entry,
|
||||
+#else
|
||||
+ const struct ip6t_entry *entry
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
|
||||
+ const struct xt_target *target,
|
||||
+#endif
|
||||
+ void *targinfo,
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
|
||||
+ unsigned int targinfosize,
|
||||
+#endif
|
||||
+ unsigned int hook_mask)
|
||||
+{
|
||||
+ if (strcmp(tablename, "mangle") != 0) {
|
||||
|
@ -835,6 +879,15 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/
|
|||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
|
||||
+ if (targinfosize != IP6T_ALIGN(sizeof(struct ip6t_route_target_info))) {
|
||||
+ printk(KERN_WARNING "ip6t_ROUTE: targinfosize %u != %Zu\n",
|
||||
+ targinfosize,
|
||||
+ IP6T_ALIGN(sizeof(struct ip6t_route_target_info)));
|
||||
+ return 0;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
|
@ -842,7 +895,9 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/
|
|||
+static struct ip6t_target ip6t_route_reg = {
|
||||
+ .name = "ROUTE",
|
||||
+ .target = ip6t_route_target,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
|
||||
+ .targetsize = sizeof(struct ip6t_route_target_info),
|
||||
+#endif
|
||||
+ .checkentry = ip6t_route_checkentry,
|
||||
+ .me = THIS_MODULE
|
||||
+};
|
||||
|
@ -866,15 +921,15 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/ip6t_ROUTE.c linux-2.6.19.dev/net/
|
|||
+module_init(init);
|
||||
+module_exit(fini);
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff -urN linux-2.6.19.old/net/ipv6/netfilter/Kconfig linux-2.6.19.dev/net/ipv6/netfilter/Kconfig
|
||||
--- linux-2.6.19.old/net/ipv6/netfilter/Kconfig 2006-12-14 03:13:49.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv6/netfilter/Kconfig 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -162,6 +162,19 @@
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
diff -Nur linux-2.6.21.1/net/ipv6/netfilter/Kconfig linux-2.6.21.1-owrt/net/ipv6/netfilter/Kconfig
|
||||
--- linux-2.6.21.1/net/ipv6/netfilter/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv6/netfilter/Kconfig 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -200,5 +200,18 @@
|
||||
If you want to compile it as a module, say M here and read
|
||||
<file:Documentation/modules.txt>. If unsure, say `N'.
|
||||
|
||||
+config IP6_NF_TARGET_ROUTE
|
||||
+ tristate "ROUTE target support"
|
||||
+ tristate 'ROUTE target support'
|
||||
+ depends on IP6_NF_MANGLE
|
||||
+ help
|
||||
+ This option adds a `ROUTE' target, which enables you to setup unusual
|
||||
|
@ -886,17 +941,16 @@ diff -urN linux-2.6.19.old/net/ipv6/netfilter/Kconfig linux-2.6.19.dev/net/ipv6/
|
|||
+
|
||||
+ Not working as a module.
|
||||
+
|
||||
config IP6_NF_MANGLE
|
||||
tristate "Packet mangling"
|
||||
depends on IP6_NF_IPTABLES
|
||||
diff -urN linux-2.6.19.old/net/ipv6/netfilter/Makefile linux-2.6.19.dev/net/ipv6/netfilter/Makefile
|
||||
--- linux-2.6.19.old/net/ipv6/netfilter/Makefile 2006-12-14 03:13:49.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/ipv6/netfilter/Makefile 2006-12-14 03:13:49.000000000 +0100
|
||||
@@ -20,6 +20,7 @@
|
||||
endmenu
|
||||
|
||||
diff -Nur linux-2.6.21.1/net/ipv6/netfilter/Makefile linux-2.6.21.1-owrt/net/ipv6/netfilter/Makefile
|
||||
--- linux-2.6.21.1/net/ipv6/netfilter/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/ipv6/netfilter/Makefile 2007-05-23 20:32:22.000000000 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o
|
||||
obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o
|
||||
obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o
|
||||
+obj-$(CONFIG_IP6_NF_TARGET_ROUTE) += ip6t_ROUTE.o
|
||||
obj-$(CONFIG_IP6_NF_MATCH_MH) += ip6t_mh.o
|
||||
|
||||
# objects for l3 independent conntrack
|
||||
nf_conntrack_ipv6-objs := nf_conntrack_l3proto_ipv6.o nf_conntrack_proto_icmpv6.o nf_conntrack_reasm.o
|
||||
|
|
|
@ -1,6 +1,33 @@
|
|||
diff -ruN linux-2.6.19.1.orig/include/linux/netfilter/xt_CHAOS.h linux-2.6.19.1/include/linux/netfilter/xt_CHAOS.h
|
||||
--- linux-2.6.19.1.orig/include/linux/netfilter/xt_CHAOS.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.1/include/linux/netfilter/xt_CHAOS.h 2007-01-11 13:28:07.656144799 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter/oot_conntrack.h linux-2.6.21.1-owrt/include/linux/netfilter/oot_conntrack.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter/oot_conntrack.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter/oot_conntrack.h 2007-05-14 14:18:54.000000000 +0200
|
||||
@@ -0,0 +1,5 @@
|
||||
+#if defined(CONFIG_IP_NF_CONNTRACK) || defined(CONFIG_IP_NF_CONNTRACK_MODULE)
|
||||
+# include <linux/netfilter_ipv4/ip_conntrack.h>
|
||||
+#else /* linux-2.6.20+ */
|
||||
+# include <net/netfilter/nf_nat_rule.h>
|
||||
+#endif
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter/oot_trans.h linux-2.6.21.1-owrt/include/linux/netfilter/oot_trans.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter/oot_trans.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter/oot_trans.h 2007-05-14 14:18:54.000000000 +0200
|
||||
@@ -0,0 +1,14 @@
|
||||
+/* Out of tree workarounds */
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
|
||||
+# define HAVE_MATCHINFOSIZE 1
|
||||
+# define HAVE_TARGUSERINFO 1
|
||||
+# define HAVE_TARGINFOSIZE 1
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
|
||||
+# define nfmark mark
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 21)
|
||||
+# define tcp_v4_check(tcph, tcph_sz, s, d, csp) \
|
||||
+ tcp_v4_check((tcph_sz), (s), (d), (csp))
|
||||
+#endif
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter/xt_CHAOS.h linux-2.6.21.1-owrt/include/linux/netfilter/xt_CHAOS.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter/xt_CHAOS.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter/xt_CHAOS.h 2007-05-14 14:18:54.000000000 +0200
|
||||
@@ -0,0 +1,14 @@
|
||||
+#ifndef _LINUX_XT_CHAOS_H
|
||||
+#define _LINUX_XT_CHAOS_H 1
|
||||
|
@ -16,9 +43,9 @@ diff -ruN linux-2.6.19.1.orig/include/linux/netfilter/xt_CHAOS.h linux-2.6.19.1/
|
|||
+};
|
||||
+
|
||||
+#endif /* _LINUX_XT_CHAOS_H */
|
||||
diff -ruN linux-2.6.19.1.orig/include/linux/netfilter/xt_portscan.h linux-2.6.19.1/include/linux/netfilter/xt_portscan.h
|
||||
--- linux-2.6.19.1.orig/include/linux/netfilter/xt_portscan.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.1/include/linux/netfilter/xt_portscan.h 2007-01-11 13:28:07.656144799 +0100
|
||||
diff -Nur linux-2.6.21.1/include/linux/netfilter/xt_portscan.h linux-2.6.21.1-owrt/include/linux/netfilter/xt_portscan.h
|
||||
--- linux-2.6.21.1/include/linux/netfilter/xt_portscan.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/include/linux/netfilter/xt_portscan.h 2007-05-14 14:18:54.000000000 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+#ifndef _LINUX_XT_PORTSCAN_H
|
||||
+#define _LINUX_XT_PORTSCAN_H 1
|
||||
|
@ -28,10 +55,10 @@ diff -ruN linux-2.6.19.1.orig/include/linux/netfilter/xt_portscan.h linux-2.6.19
|
|||
+};
|
||||
+
|
||||
+#endif /* _LINUX_XT_PORTSCAN_H */
|
||||
diff -ruN linux-2.6.19.1.orig/net/netfilter/find_match.c linux-2.6.19.1/net/netfilter/find_match.c
|
||||
--- linux-2.6.19.1.orig/net/netfilter/find_match.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.1/net/netfilter/find_match.c 2007-01-11 13:28:12.191994379 +0100
|
||||
@@ -0,0 +1,37 @@
|
||||
diff -Nur linux-2.6.21.1/net/netfilter/find_match.c linux-2.6.21.1-owrt/net/netfilter/find_match.c
|
||||
--- linux-2.6.21.1/net/netfilter/find_match.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/netfilter/find_match.c 2007-05-14 14:18:54.000000000 +0200
|
||||
@@ -0,0 +1,39 @@
|
||||
+/*
|
||||
+ xt_request_find_match
|
||||
+ by Jan Engelhardt <jengelh [at] gmx de>, 2006 - 2007
|
||||
|
@ -42,7 +69,6 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/find_match.c linux-2.6.19.1/net/netf
|
|||
+ it under the terms of the GNU General Public License version 2 as
|
||||
+ published by the Free Software Foundation.
|
||||
+*/
|
||||
+
|
||||
+#include <linux/err.h>
|
||||
+#include <linux/netfilter_arp.h>
|
||||
+#include <linux/socket.h>
|
||||
|
@ -52,7 +78,7 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/find_match.c linux-2.6.19.1/net/netf
|
|||
+ * Yeah this code is sub-optimal, but the function is missing in
|
||||
+ * mainline so far. -jengelh
|
||||
+ */
|
||||
+static struct xt_match *xt_request_find_match(int af, const char *name,
|
||||
+static struct xt_match *xt_request_find_match_lo(int af, const char *name,
|
||||
+ u8 revision)
|
||||
+{
|
||||
+ static const char *const xt_prefix[] = {
|
||||
|
@ -69,10 +95,13 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/find_match.c linux-2.6.19.1/net/netf
|
|||
+
|
||||
+ return match;
|
||||
+}
|
||||
diff -ruN linux-2.6.19.1.orig/net/netfilter/Kconfig linux-2.6.19.1/net/netfilter/Kconfig
|
||||
--- linux-2.6.19.1.orig/net/netfilter/Kconfig 2007-01-11 13:27:24.445577700 +0100
|
||||
+++ linux-2.6.19.1/net/netfilter/Kconfig 2007-01-11 13:28:09.092097179 +0100
|
||||
@@ -122,6 +122,14 @@
|
||||
+
|
||||
+/* In case it goes into mainline, let this out-of-tree package compile */
|
||||
+#define xt_request_find_match xt_request_find_match_lo
|
||||
diff -Nur linux-2.6.21.1/net/netfilter/Kconfig linux-2.6.21.1-owrt/net/netfilter/Kconfig
|
||||
--- linux-2.6.21.1/net/netfilter/Kconfig 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/netfilter/Kconfig 2007-05-14 14:30:47.000000000 +0200
|
||||
@@ -287,6 +287,14 @@
|
||||
|
||||
# alphabetically ordered list of targets
|
||||
|
||||
|
@ -87,7 +116,7 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/Kconfig linux-2.6.19.1/net/netfilter
|
|||
config NETFILTER_XT_TARGET_CLASSIFY
|
||||
tristate '"CLASSIFY" target support'
|
||||
depends on NETFILTER_XTABLES
|
||||
@@ -148,6 +156,14 @@
|
||||
@@ -315,6 +323,14 @@
|
||||
<file:Documentation/modules.txt>. The module will be called
|
||||
ipt_CONNMARK.o. If unsure, say `N'.
|
||||
|
||||
|
@ -102,7 +131,7 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/Kconfig linux-2.6.19.1/net/netfilter
|
|||
config NETFILTER_XT_TARGET_DSCP
|
||||
tristate '"DSCP" target support'
|
||||
depends on NETFILTER_XTABLES
|
||||
@@ -355,6 +371,14 @@
|
||||
@@ -563,6 +579,14 @@
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
|
||||
|
@ -117,10 +146,10 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/Kconfig linux-2.6.19.1/net/netfilter
|
|||
config NETFILTER_XT_MATCH_MULTIPORT
|
||||
tristate "Multiple port match support"
|
||||
depends on NETFILTER_XTABLES
|
||||
diff -ruN linux-2.6.19.1.orig/net/netfilter/Makefile linux-2.6.19.1/net/netfilter/Makefile
|
||||
--- linux-2.6.19.1.orig/net/netfilter/Makefile 2007-01-11 13:27:24.445577700 +0100
|
||||
+++ linux-2.6.19.1/net/netfilter/Makefile 2007-01-11 13:28:07.656144799 +0100
|
||||
@@ -23,8 +23,10 @@
|
||||
diff -Nur linux-2.6.21.1/net/netfilter/Makefile linux-2.6.21.1-owrt/net/netfilter/Makefile
|
||||
--- linux-2.6.21.1/net/netfilter/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/net/netfilter/Makefile 2007-05-14 14:30:47.000000000 +0200
|
||||
@@ -37,8 +37,10 @@
|
||||
obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
|
||||
|
||||
# targets
|
||||
|
@ -131,7 +160,7 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/Makefile linux-2.6.19.1/net/netfilte
|
|||
obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_MARK) += xt_MARK.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE) += xt_NFQUEUE.o
|
||||
@@ -47,6 +49,7 @@
|
||||
@@ -63,6 +65,7 @@
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_MARK) += xt_mark.o
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_MULTIPORT) += xt_multiport.o
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_POLICY) += xt_policy.o
|
||||
|
@ -139,16 +168,17 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/Makefile linux-2.6.19.1/net/netfilte
|
|||
obj-$(CONFIG_NETFILTER_XT_MATCH_PKTTYPE) += xt_pkttype.o
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) += xt_quota.o
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
|
||||
diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfilter/xt_CHAOS.c
|
||||
--- linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.1/net/netfilter/xt_CHAOS.c 2007-01-11 13:28:14.407920893 +0100
|
||||
@@ -0,0 +1,180 @@
|
||||
diff -Nur linux-2.6.21.1/net/netfilter/xt_CHAOS.c linux-2.6.21.1-owrt/net/netfilter/xt_CHAOS.c
|
||||
--- linux-2.6.21.1/net/netfilter/xt_CHAOS.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/netfilter/xt_CHAOS.c 2007-05-14 14:36:58.000000000 +0200
|
||||
@@ -0,0 +1,204 @@
|
||||
+/*
|
||||
+ CHAOS target for netfilter
|
||||
+
|
||||
+ Copyright © Jan Engelhardt <jengelh [at] gmx de>, 2006 - 2007
|
||||
+ released under the terms of the GNU General Public
|
||||
+ License version 2.x and only versions 2.x.
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License version 2 as
|
||||
+ published by the Free Software Foundation.
|
||||
+*/
|
||||
+#include <linux/icmp.h>
|
||||
+#include <linux/in.h>
|
||||
|
@ -162,14 +192,9 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+#include <net/ip.h>
|
||||
+#include <linux/netfilter/xt_CHAOS.h>
|
||||
+#include "find_match.c"
|
||||
+#include <linux/netfilter/oot_trans.h>
|
||||
+#define PFX KBUILD_MODNAME ": "
|
||||
+
|
||||
+/* Out of tree workarounds */
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
|
||||
+# define HAVE_TARGUSERINFO 1
|
||||
+#endif
|
||||
+
|
||||
+/* Module parameters */
|
||||
+static unsigned int reject_percentage = ~0U * .01;
|
||||
+static unsigned int delude_percentage = ~0U * .0101;
|
||||
|
@ -180,6 +205,8 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+static struct xt_match *xm_tcp;
|
||||
+static struct xt_target *xt_delude, *xt_reject, *xt_tarpit;
|
||||
+
|
||||
+static int have_delude, have_tarpit;
|
||||
+
|
||||
+/* Static data for other matches/targets */
|
||||
+static const struct ipt_reject_info reject_params = {
|
||||
+ .with = ICMP_HOST_UNREACH,
|
||||
|
@ -226,7 +253,7 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+ /* Equivalent to:
|
||||
+ * -A chaos -m statistic --mode random --probability \
|
||||
+ * $reject_percentage -j REJECT --reject-with host-unreach;
|
||||
+ * -A chaos -m statistic --mode random --probability \
|
||||
+ * -A chaos -p tcp -m statistic --mode random --probability \
|
||||
+ * $delude_percentage -j DELUDE;
|
||||
+ * -A chaos -j DROP;
|
||||
+ */
|
||||
|
@ -249,9 +276,31 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+ return NF_DROP;
|
||||
+}
|
||||
+
|
||||
+static int xt_chaos_checkentry(const char *tablename, const void *entry,
|
||||
+ const struct xt_target *target, void *targinfo,
|
||||
+#ifdef HAVE_TARGINFOSIZE
|
||||
+ unsigned int targinfosize,
|
||||
+#endif
|
||||
+ unsigned int hook_mask)
|
||||
+{
|
||||
+ const struct xt_chaos_info *info = targinfo;
|
||||
+ if(info->variant == XTCHAOS_DELUDE && !have_delude) {
|
||||
+ printk(KERN_WARNING PFX "Error: Cannot use --delude when "
|
||||
+ "DELUDE module not available\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if(info->variant == XTCHAOS_TARPIT && !have_tarpit) {
|
||||
+ printk(KERN_WARNING PFX "Error: Cannot use --tarpit when "
|
||||
+ "TARPIT module not available\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static struct xt_target xt_chaos_info = {
|
||||
+ .name = "CHAOS",
|
||||
+ .target = xt_chaos_target,
|
||||
+ .checkentry = xt_chaos_checkentry,
|
||||
+ .table = "filter",
|
||||
+ .targetsize = sizeof(struct xt_chaos_info),
|
||||
+ .hooks = (1 << NF_IP_LOCAL_IN) | (1 << NF_IP_FORWARD) |
|
||||
|
@ -266,41 +315,43 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+
|
||||
+ xm_tcp = xt_request_find_match(AF_INET, "tcp", 0);
|
||||
+ if(xm_tcp == NULL) {
|
||||
+ printk(KERN_WARNING PFX "Could not find \"tcp\" match\n");
|
||||
+ printk(KERN_WARNING PFX "Error: Could not find or load "
|
||||
+ "\"tcp\" match\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ xt_reject = xt_request_find_target(AF_INET, "REJECT", 0);
|
||||
+ if(xt_reject == NULL) {
|
||||
+ printk(KERN_WARNING PFX "Could not find \"REJECT\" target\n");
|
||||
+ printk(KERN_WARNING PFX "Error: Could not find or load "
|
||||
+ "\"REJECT\" target\n");
|
||||
+ goto out2;
|
||||
+ }
|
||||
+
|
||||
+ xt_tarpit = xt_request_find_target(AF_INET, "TARPIT", 0);
|
||||
+ if(xt_tarpit == NULL) {
|
||||
+ printk(KERN_WARNING PFX "Could not find \"TARPIT\" target\n");
|
||||
+ goto out3;
|
||||
+ }
|
||||
+ have_tarpit = xt_tarpit != NULL;
|
||||
+ if(!have_tarpit)
|
||||
+ printk(KERN_WARNING PFX "Warning: Could not find or load "
|
||||
+ "\"TARPIT\" target\n");
|
||||
+
|
||||
+ xt_delude = xt_request_find_target(AF_INET, "DELUDE", 0);
|
||||
+ if(xt_delude == NULL) {
|
||||
+ printk(KERN_WARNING PFX "Could not find \"DELUDE\" target\n");
|
||||
+ goto out4;
|
||||
+ }
|
||||
+ have_delude = xt_delude != NULL;
|
||||
+ if(!have_delude)
|
||||
+ printk(KERN_WARNING PFX "Warning: Could not find or load "
|
||||
+ "\"DELUDE\" target\n");
|
||||
+
|
||||
+ if((ret = xt_register_target(&xt_chaos_info)) != 0) {
|
||||
+ printk(KERN_WARNING PFX "xt_register_target returned "
|
||||
+ "error %d\n", ret);
|
||||
+ goto out5;
|
||||
+ goto out3;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+ out5:
|
||||
+ module_put(xt_delude->me);
|
||||
+ out4:
|
||||
+ module_put(xt_tarpit->me);
|
||||
+ out3:
|
||||
+ if(have_delude)
|
||||
+ module_put(xt_delude->me);
|
||||
+ if(have_tarpit)
|
||||
+ module_put(xt_tarpit->me);
|
||||
+ module_put(xt_reject->me);
|
||||
+ out2:
|
||||
+ module_put(xm_tcp->me);
|
||||
|
@ -312,7 +363,9 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+ xt_unregister_target(&xt_chaos_info);
|
||||
+ module_put(xm_tcp->me);
|
||||
+ module_put(xt_reject->me);
|
||||
+ if(have_delude)
|
||||
+ module_put(xt_delude->me);
|
||||
+ if(have_tarpit)
|
||||
+ module_put(xt_tarpit->me);
|
||||
+ return;
|
||||
+}
|
||||
|
@ -323,10 +376,10 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_CHAOS.c linux-2.6.19.1/net/netfil
|
|||
+MODULE_DESCRIPTION("netfilter CHAOS target");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("ipt_CHAOS");
|
||||
diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfilter/xt_DELUDE.c
|
||||
--- linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.1/net/netfilter/xt_DELUDE.c 2007-01-11 13:28:07.656144799 +0100
|
||||
@@ -0,0 +1,265 @@
|
||||
diff -Nur linux-2.6.21.1/net/netfilter/xt_DELUDE.c linux-2.6.21.1-owrt/net/netfilter/xt_DELUDE.c
|
||||
--- linux-2.6.21.1/net/netfilter/xt_DELUDE.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/netfilter/xt_DELUDE.c 2007-05-14 14:53:12.000000000 +0200
|
||||
@@ -0,0 +1,288 @@
|
||||
+/*
|
||||
+ DELUDE target
|
||||
+ Copyright © Jan Engelhardt <jengelh [at] gmx de>, 2007
|
||||
|
@ -335,14 +388,16 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+ (C) 1999-2001 Paul `Rusty' Russell
|
||||
+ (C) 2002-2004 Netfilter Core Team <coreteam@netfilter.org>
|
||||
+
|
||||
+ xt_DELUDE acts like REJECT, but does reply with SYN-ACK on SYN.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License version 2 as
|
||||
+ published by the Free Software Foundation.
|
||||
+*/
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/skbuff.h>
|
||||
+#include <linux/ip.h>
|
||||
+#include <linux/random.h>
|
||||
+#include <linux/tcp.h>
|
||||
+#include <linux/udp.h>
|
||||
+#include <linux/icmp.h>
|
||||
|
@ -355,18 +410,9 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+#ifdef CONFIG_BRIDGE_NETFILTER
|
||||
+# include <linux/netfilter_bridge.h>
|
||||
+#endif
|
||||
+#include <linux/netfilter/oot_trans.h>
|
||||
+#define PFX KBUILD_MODNAME ": "
|
||||
+
|
||||
+/* Out of tree workarounds */
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
|
||||
+# define HAVE_TARGINFOSIZE 1
|
||||
+# define HAVE_TARGUSERINFO 1
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
|
||||
+# define nfmark mark
|
||||
+#endif
|
||||
+
|
||||
+static inline struct rtable *route_reverse(struct sk_buff *skb,
|
||||
+ struct tcphdr *tcph, int hook)
|
||||
+{
|
||||
|
@ -430,10 +476,10 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+ struct sk_buff *nskb;
|
||||
+ struct iphdr *iph = oldskb->nh.iph;
|
||||
+ struct tcphdr _otcph, *oth, *tcph;
|
||||
+ struct rtable *rt;
|
||||
+ u_int16_t tmp_port;
|
||||
+ u_int32_t tmp_addr;
|
||||
+ int hh_len;
|
||||
+ __be16 tmp_port;
|
||||
+ __be32 tmp_addr;
|
||||
+ int needs_ack;
|
||||
+ unsigned int addr_type;
|
||||
+
|
||||
+ /* IP header checks: fragment. */
|
||||
+ if (oldskb->nh.iph->frag_off & htons(IP_OFFSET))
|
||||
|
@ -444,37 +490,31 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+ if (oth == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ /* DELUDE only answers SYN. */
|
||||
+ if(!oth->syn || oth->ack || oth->fin || oth->rst)
|
||||
+ /* No RST for RST. */
|
||||
+ if (oth->rst)
|
||||
+ return;
|
||||
+
|
||||
+ /* Check checksum */
|
||||
+ if (nf_ip_checksum(oldskb, hook, iph->ihl * 4, IPPROTO_TCP))
|
||||
+ return;
|
||||
+
|
||||
+ if ((rt = route_reverse(oldskb, oth, hook)) == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ hh_len = LL_RESERVED_SPACE(rt->u.dst.dev);
|
||||
+
|
||||
+ /* We need a linear, writeable skb. We also need to expand
|
||||
+ headroom in case hh_len of incoming interface < hh_len of
|
||||
+ outgoing interface */
|
||||
+ nskb = skb_copy_expand(oldskb, hh_len, skb_tailroom(oldskb),
|
||||
+ nskb = skb_copy_expand(oldskb, LL_MAX_HEADER, skb_tailroom(oldskb),
|
||||
+ GFP_ATOMIC);
|
||||
+ if (!nskb) {
|
||||
+ dst_release(&rt->u.dst);
|
||||
+ if (!nskb)
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ dst_release(nskb->dst);
|
||||
+ nskb->dst = &rt->u.dst;
|
||||
+
|
||||
+ /* This packet will not be the same as the other: clear nf fields */
|
||||
+ nf_reset(nskb);
|
||||
+ nskb->nfmark = 0;
|
||||
+ skb_init_secmark(nskb);
|
||||
+
|
||||
+ skb_shinfo(nskb)->gso_size = 0;
|
||||
+ skb_shinfo(nskb)->gso_segs = 0;
|
||||
+ skb_shinfo(nskb)->gso_type = 0;
|
||||
+
|
||||
+ tcph = (struct tcphdr *)((u_int32_t*)nskb->nh.iph + nskb->nh.iph->ihl);
|
||||
+
|
||||
+ /* Swap source and dest */
|
||||
|
@ -490,12 +530,34 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+ skb_trim(nskb, nskb->nh.iph->ihl*4 + sizeof(struct tcphdr));
|
||||
+ nskb->nh.iph->tot_len = htons(nskb->len);
|
||||
+
|
||||
+ if(oth->syn && !oth->ack && !oth->rst && !oth->fin) {
|
||||
+ /* DELUDE essential part */
|
||||
+ tcph->ack_seq = htonl(ntohl(oth->seq) + oth->syn + oth->fin +
|
||||
+ oldskb->len - oldskb->nh.iph->ihl * 4 -
|
||||
+ (oth->doff << 2));
|
||||
+ tcph->seq = htonl(secure_tcp_sequence_number(
|
||||
+ nskb->nh.iph->saddr, nskb->nh.iph->daddr,
|
||||
+ tcph->source, tcph->dest));
|
||||
+ tcph->ack = 1;
|
||||
+ } else {
|
||||
+ if(!tcph->ack) {
|
||||
+ needs_ack = 1;
|
||||
+ tcph->ack_seq = htonl(ntohl(oth->seq) + oth->syn + oth->fin
|
||||
+ + oldskb->len - oldskb->nh.iph->ihl*4
|
||||
+ - (oth->doff<<2));
|
||||
+ tcph->seq = 0;
|
||||
+ } else {
|
||||
+ needs_ack = 0;
|
||||
+ tcph->seq = oth->ack_seq;
|
||||
+ tcph->ack_seq = 0;
|
||||
+ }
|
||||
+
|
||||
+ /* Reset flags */
|
||||
+ ((u_int8_t *)tcph)[13] = 0;
|
||||
+ tcph->syn = tcph->ack = 1;
|
||||
+ tcph->rst = 1;
|
||||
+ tcph->ack = needs_ack;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ tcph->window = 0;
|
||||
+ tcph->urg_ptr = 0;
|
||||
|
@ -508,12 +570,26 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+ csum_partial((char *)tcph,
|
||||
+ sizeof(struct tcphdr), 0));
|
||||
+
|
||||
+ /* Adjust IP TTL, DF */
|
||||
+ nskb->nh.iph->ttl = dst_metric(nskb->dst, RTAX_HOPLIMIT);
|
||||
+ /* Set DF, id = 0 */
|
||||
+ nskb->nh.iph->frag_off = htons(IP_DF);
|
||||
+ nskb->nh.iph->id = 0;
|
||||
+
|
||||
+ addr_type = RTN_UNSPEC;
|
||||
+ if (hook != NF_IP_FORWARD
|
||||
+#ifdef CONFIG_BRIDGE_NETFILTER
|
||||
+ || (nskb->nf_bridge && nskb->nf_bridge->mask & BRNF_BRIDGED)
|
||||
+#endif
|
||||
+ )
|
||||
+ addr_type = RTN_LOCAL;
|
||||
+
|
||||
+ if (ip_route_me_harder(&nskb, addr_type))
|
||||
+ goto free_nskb;
|
||||
+
|
||||
+ nskb->ip_summed = CHECKSUM_NONE;
|
||||
+
|
||||
+ /* Adjust IP TTL */
|
||||
+ nskb->nh.iph->ttl = dst_metric(nskb->dst, RTAX_HOPLIMIT);
|
||||
+
|
||||
+ /* Adjust IP checksum */
|
||||
+ nskb->nh.iph->check = 0;
|
||||
+ nskb->nh.iph->check = ip_fast_csum((unsigned char *)nskb->nh.iph,
|
||||
|
@ -531,7 +607,6 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+
|
||||
+ free_nskb:
|
||||
+ kfree_skb(nskb);
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+static unsigned int xt_delude_target(struct sk_buff **pskb,
|
||||
|
@ -589,19 +664,21 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_DELUDE.c linux-2.6.19.1/net/netfi
|
|||
+
|
||||
+module_init(xt_delude_init);
|
||||
+module_exit(xt_delude_exit);
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Jan Engelhardt <jengelh@gmx.de>");
|
||||
+MODULE_DESCRIPTION("netfilter DELUDE target");
|
||||
diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_portscan.c linux-2.6.19.1/net/netfilter/xt_portscan.c
|
||||
--- linux-2.6.19.1.orig/net/netfilter/xt_portscan.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.1/net/netfilter/xt_portscan.c 2007-01-11 13:28:14.407920893 +0100
|
||||
@@ -0,0 +1,282 @@
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("ipt_DELUDE");
|
||||
diff -Nur linux-2.6.21.1/net/netfilter/xt_portscan.c linux-2.6.21.1-owrt/net/netfilter/xt_portscan.c
|
||||
--- linux-2.6.21.1/net/netfilter/xt_portscan.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/net/netfilter/xt_portscan.c 2007-05-14 14:37:35.000000000 +0200
|
||||
@@ -0,0 +1,272 @@
|
||||
+/*
|
||||
+ portscan match for netfilter
|
||||
+
|
||||
+ Written by Jan Engelhardt, 2006 - 2007
|
||||
+ released under the terms of the GNU General Public
|
||||
+ License version 2.x and only versions 2.x.
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License version 2 as
|
||||
+ published by the Free Software Foundation.
|
||||
+*/
|
||||
+#include <linux/in.h>
|
||||
+#include <linux/ip.h>
|
||||
|
@ -614,22 +691,11 @@ diff -ruN linux-2.6.19.1.orig/net/netfilter/xt_portscan.c linux-2.6.19.1/net/net
|
|||
+#include <linux/version.h>
|
||||
+#include <linux/netfilter/x_tables.h>
|
||||
+#include <linux/netfilter/xt_tcpudp.h>
|
||||
+#if defined(CONFIG_IP_NF_CONNTRACK) || defined(CONFIG_IP_NF_CONNTRACK_MODULE)
|
||||
+# include <linux/netfilter_ipv4/ip_conntrack.h>
|
||||
+#else /* linux-2.6.20+ */
|
||||
+# include <net/netfilter/nf_nat_rule.h>
|
||||
+#endif
|
||||
+#include <linux/netfilter/oot_conntrack.h>
|
||||
+#include <linux/netfilter/xt_portscan.h>
|
||||
+#include <linux/netfilter/oot_trans.h>
|
||||
+#define PFX KBUILD_MODNAME ": "
|
||||
+
|
||||
+/* Out of tree workarounds */
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
|
||||
+# define HAVE_MATCHINFOSIZE 1
|
||||
+#endif
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
|
||||
+# define nfmark mark
|
||||
+#endif
|
||||
+
|
||||
+enum {
|
||||
+ TCP_FLAGS_ALL3 = TCP_FLAG_FIN | TCP_FLAG_RST | TCP_FLAG_SYN,
|
||||
+ TCP_FLAGS_ALL4 = TCP_FLAGS_ALL3 | TCP_FLAG_ACK,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -urN linux-2.6.19.old/include/linux/pkt_sched.h linux-2.6.19.dev/include/linux/pkt_sched.h
|
||||
--- linux-2.6.19.old/include/linux/pkt_sched.h 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/linux/pkt_sched.h 2006-12-14 03:13:51.000000000 +0100
|
||||
@@ -146,8 +146,35 @@
|
||||
diff -Naur linux-2.6.20.orig/include/linux/pkt_sched.h linux-2.6.20/include/linux/pkt_sched.h
|
||||
--- linux-2.6.20.orig/include/linux/pkt_sched.h 2007-02-04 10:44:54.000000000 -0800
|
||||
+++ linux-2.6.20/include/linux/pkt_sched.h 2007-02-14 23:58:41.000000000 -0800
|
||||
@@ -146,8 +146,40 @@
|
||||
*
|
||||
* The only reason for this is efficiency, it is possible
|
||||
* to change these parameters in compile time.
|
||||
|
@ -22,6 +22,11 @@ diff -urN linux-2.6.19.old/include/linux/pkt_sched.h linux-2.6.19.dev/include/li
|
|||
+ TCA_SFQ_HASH_DSTDIR,
|
||||
+ TCA_SFQ_HASH_SRCDIR,
|
||||
+ TCA_SFQ_HASH_FWMARKDIR,
|
||||
+ /* conntrack */
|
||||
+ TCA_SFQ_HASH_CTORIGDST,
|
||||
+ TCA_SFQ_HASH_CTORIGSRC,
|
||||
+ TCA_SFQ_HASH_CTREPLDST,
|
||||
+ TCA_SFQ_HASH_CTREPLSRC,
|
||||
+};
|
||||
+
|
||||
+struct tc_esfq_qopt
|
||||
|
@ -37,16 +42,15 @@ diff -urN linux-2.6.19.old/include/linux/pkt_sched.h linux-2.6.19.dev/include/li
|
|||
/* RED section */
|
||||
|
||||
enum
|
||||
diff -urN linux-2.6.19.old/net/sched/Kconfig linux-2.6.19.dev/net/sched/Kconfig
|
||||
--- linux-2.6.19.old/net/sched/Kconfig 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/sched/Kconfig 2006-12-14 03:13:51.000000000 +0100
|
||||
@@ -185,6 +185,28 @@
|
||||
diff -Naur linux-2.6.20.orig/net/sched/Kconfig linux-2.6.20/net/sched/Kconfig
|
||||
--- linux-2.6.20.orig/net/sched/Kconfig 2007-02-04 10:44:54.000000000 -0800
|
||||
+++ linux-2.6.20/net/sched/Kconfig 2007-02-14 23:58:41.000000000 -0800
|
||||
@@ -189,6 +189,26 @@
|
||||
To compile this code as a module, choose M here: the
|
||||
module will be called sch_sfq.
|
||||
|
||||
+config NET_SCH_ESFQ
|
||||
+ tristate "ESFQ queue"
|
||||
+ depends on NET_SCHED
|
||||
+ tristate "Enhanced Stochastic Fairness Queueing (ESFQ)"
|
||||
+ ---help---
|
||||
+ Say Y here if you want to use the Enhanced Stochastic Fairness
|
||||
+ Queueing (ESFQ) packet scheduling algorithm for some of your network
|
||||
|
@ -55,13 +59,12 @@ diff -urN linux-2.6.19.old/net/sched/Kconfig linux-2.6.19.dev/net/sched/Kconfig
|
|||
+ references to the SFQ algorithm).
|
||||
+
|
||||
+ This is an enchanced SFQ version which allows you to control some
|
||||
+ hardcoded values in the SFQ scheduler: queue depth, hash table size,
|
||||
+ and queues limit.
|
||||
+ hardcoded values in the SFQ scheduler.
|
||||
+
|
||||
+ ESFQ also adds control to the hash function used to identify packet
|
||||
+ flows. The original SFQ hashes by individual flow (TCP session or UDP
|
||||
+ stream); ESFQ can hash by src or dst IP as well, which can be more
|
||||
+ fair to users in some networking situations.
|
||||
+ ESFQ also adds control of the hash function used to identify packet
|
||||
+ flows. The original SFQ discipline hashes by connection; ESFQ add
|
||||
+ several other hashing methods, such as by src IP or by dst IP, which
|
||||
+ can be more fair to users in some networking situations.
|
||||
+
|
||||
+ To compile this code as a module, choose M here: the
|
||||
+ module will be called sch_esfq.
|
||||
|
@ -69,10 +72,10 @@ diff -urN linux-2.6.19.old/net/sched/Kconfig linux-2.6.19.dev/net/sched/Kconfig
|
|||
config NET_SCH_TEQL
|
||||
tristate "True Link Equalizer (TEQL)"
|
||||
---help---
|
||||
diff -urN linux-2.6.19.old/net/sched/Makefile linux-2.6.19.dev/net/sched/Makefile
|
||||
--- linux-2.6.19.old/net/sched/Makefile 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/sched/Makefile 2006-12-14 03:13:51.000000000 +0100
|
||||
@@ -23,6 +23,7 @@
|
||||
diff -Naur linux-2.6.20.orig/net/sched/Makefile linux-2.6.20/net/sched/Makefile
|
||||
--- linux-2.6.20.orig/net/sched/Makefile 2007-02-04 10:44:54.000000000 -0800
|
||||
+++ linux-2.6.20/net/sched/Makefile 2007-02-14 23:58:41.000000000 -0800
|
||||
@@ -24,6 +24,7 @@
|
||||
obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o
|
||||
obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o
|
||||
obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o
|
||||
|
@ -80,10 +83,10 @@ diff -urN linux-2.6.19.old/net/sched/Makefile linux-2.6.19.dev/net/sched/Makefil
|
|||
obj-$(CONFIG_NET_SCH_TBF) += sch_tbf.o
|
||||
obj-$(CONFIG_NET_SCH_TEQL) += sch_teql.o
|
||||
obj-$(CONFIG_NET_SCH_PRIO) += sch_prio.o
|
||||
diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_esfq.c
|
||||
--- linux-2.6.19.old/net/sched/sch_esfq.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.19.dev/net/sched/sch_esfq.c 2006-12-14 03:13:51.000000000 +0100
|
||||
@@ -0,0 +1,644 @@
|
||||
diff -Naur linux-2.6.20.orig/net/sched/sch_esfq.c linux-2.6.20/net/sched/sch_esfq.c
|
||||
--- linux-2.6.20.orig/net/sched/sch_esfq.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ linux-2.6.20/net/sched/sch_esfq.c 2007-02-15 00:19:56.000000000 -0800
|
||||
@@ -0,0 +1,704 @@
|
||||
+/*
|
||||
+ * net/sched/sch_esfq.c Extended Stochastic Fairness Queueing discipline.
|
||||
+ *
|
||||
|
@ -103,12 +106,12 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ *
|
||||
+ * Corey Hickey, <bugfood-c@fatooh.org>
|
||||
+ * Maintenance of the Linux 2.6 port.
|
||||
+ * Added fwmark hash (thanks to Robert Kurjata)
|
||||
+ * Added fwmark hash (thanks to Robert Kurjata).
|
||||
+ * Added direct hashing for src, dst, and fwmark.
|
||||
+ * Added usage of jhash.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <asm/uaccess.h>
|
||||
+#include <asm/system.h>
|
||||
|
@ -135,12 +138,16 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+#include <linux/skbuff.h>
|
||||
+#include <net/sock.h>
|
||||
+#include <net/pkt_sched.h>
|
||||
+#include <linux/jhash.h>
|
||||
+
|
||||
+#ifdef CONFIG_NF_CONNTRACK_ENABLED
|
||||
+#include <net/netfilter/nf_conntrack.h>
|
||||
+#endif
|
||||
+
|
||||
+/* Stochastic Fairness Queuing algorithm.
|
||||
+ For more comments look at sch_sfq.c.
|
||||
+ The difference is that you can change limit, depth,
|
||||
+ hash table size and choose 7 hash types.
|
||||
+ hash table size and choose alternate hash types.
|
||||
+
|
||||
+ classic: same as in sch_sfq.c
|
||||
+ dst: destination IP address
|
||||
|
@ -149,9 +156,11 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ dst_direct:
|
||||
+ src_direct:
|
||||
+ fwmark_direct: direct hashing of the above sources
|
||||
+ ctorigdst: original destination IP address
|
||||
+ ctorigsrc: original source IP address
|
||||
+ ctrepldst: reply destination IP address
|
||||
+ ctreplsrc: reply source IP
|
||||
+
|
||||
+ TODO:
|
||||
+ make sfq_change work.
|
||||
+*/
|
||||
+
|
||||
+
|
||||
|
@ -190,20 +199,24 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ unsigned dyn_range; /* saved range */
|
||||
+};
|
||||
+
|
||||
+static __inline__ unsigned esfq_hash_u32(struct esfq_sched_data *q,u32 h)
|
||||
+/* This contains the info we will hash. */
|
||||
+struct esfq_packet_info
|
||||
+{
|
||||
+ int pert = q->perturbation;
|
||||
+
|
||||
+ if (pert)
|
||||
+ h = (h<<pert) ^ (h>>(0x1F - pert));
|
||||
+
|
||||
+ h = ntohl(h) * 2654435761UL;
|
||||
+ return h & (q->hash_divisor-1);
|
||||
+}
|
||||
+ u32 proto; /* protocol or port */
|
||||
+ u32 src; /* source from packet header */
|
||||
+ u32 dst; /* destination from packet header */
|
||||
+ u32 ctorigsrc; /* original source from conntrack */
|
||||
+ u32 ctorigdst; /* original destination from conntrack */
|
||||
+ u32 ctreplsrc; /* reply source from conntrack */
|
||||
+ u32 ctrepldst; /* reply destination from conntrack */
|
||||
+ u32 mark; /* netfilter mark (fwmark) */
|
||||
+};
|
||||
+
|
||||
+/* Hash input values directly into the "nearest" slot, taking into account the
|
||||
+ * range of input values seen. This is most useful when the hash table is at
|
||||
+ * least as large as the range of possible values. */
|
||||
+ * least as large as the range of possible values.
|
||||
+ * Note: this functionality was added before the change to using jhash, and may
|
||||
+ * no longer be useful. */
|
||||
+static __inline__ unsigned esfq_hash_direct(struct esfq_sched_data *q, u32 h)
|
||||
+{
|
||||
+ /* adjust minimum and maximum */
|
||||
|
@ -224,83 +237,128 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ return (h - q->dyn_min) * (q->hash_divisor - 1) / q->dyn_range;
|
||||
+}
|
||||
+
|
||||
+static __inline__ unsigned esfq_fold_hash_classic(struct esfq_sched_data *q, u32 h, u32 h1)
|
||||
+static __inline__ unsigned esfq_jhash_1word(struct esfq_sched_data *q,u32 a)
|
||||
+{
|
||||
+ int pert = q->perturbation;
|
||||
+
|
||||
+ /* Have we any rotation primitives? If not, WHY? */
|
||||
+ h ^= (h1<<pert) ^ (h1>>(0x1F - pert));
|
||||
+ h ^= h>>10;
|
||||
+ return h & (q->hash_divisor-1);
|
||||
+ return jhash_1word(a, q->perturbation) & (q->hash_divisor-1);
|
||||
+}
|
||||
+
|
||||
+static __inline__ unsigned esfq_jhash_2words(struct esfq_sched_data *q, u32 a, u32 b)
|
||||
+{
|
||||
+ return jhash_2words(a, b, q->perturbation) & (q->hash_divisor-1);
|
||||
+}
|
||||
+
|
||||
+static __inline__ unsigned esfq_jhash_3words(struct esfq_sched_data *q, u32 a, u32 b, u32 c)
|
||||
+{
|
||||
+ return jhash_3words(a, b, c, q->perturbation) & (q->hash_divisor-1);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static unsigned esfq_hash(struct esfq_sched_data *q, struct sk_buff *skb)
|
||||
+{
|
||||
+ u32 h, h2;
|
||||
+ u32 hs;
|
||||
+ u32 nfm;
|
||||
+ struct esfq_packet_info info;
|
||||
+#ifdef CONFIG_NF_CONNTRACK_ENABLED
|
||||
+ enum ip_conntrack_info ctinfo;
|
||||
+ struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
|
||||
+#endif
|
||||
+
|
||||
+ switch (skb->protocol) {
|
||||
+ case __constant_htons(ETH_P_IP):
|
||||
+ {
|
||||
+ struct iphdr *iph = skb->nh.iph;
|
||||
+ h = iph->daddr;
|
||||
+ hs = iph->saddr;
|
||||
+ nfm = skb->nfmark;
|
||||
+ h2 = hs^iph->protocol;
|
||||
+ info.dst = iph->daddr;
|
||||
+ info.src = iph->saddr;
|
||||
+ if (!(iph->frag_off&htons(IP_MF|IP_OFFSET)) &&
|
||||
+ (iph->protocol == IPPROTO_TCP ||
|
||||
+ iph->protocol == IPPROTO_UDP ||
|
||||
+ iph->protocol == IPPROTO_SCTP ||
|
||||
+ iph->protocol == IPPROTO_DCCP ||
|
||||
+ iph->protocol == IPPROTO_ESP))
|
||||
+ h2 ^= *(((u32*)iph) + iph->ihl);
|
||||
+ info.proto = *(((u32*)iph) + iph->ihl);
|
||||
+ else
|
||||
+ info.proto = iph->protocol;
|
||||
+ break;
|
||||
+ }
|
||||
+ case __constant_htons(ETH_P_IPV6):
|
||||
+ {
|
||||
+ struct ipv6hdr *iph = skb->nh.ipv6h;
|
||||
+ h = iph->daddr.s6_addr32[3];
|
||||
+ hs = iph->saddr.s6_addr32[3];
|
||||
+ nfm = skb->nfmark;
|
||||
+ h2 = hs^iph->nexthdr;
|
||||
+ /* Hash ipv6 addresses into a u32. This isn't ideal,
|
||||
+ * but the code is simple. */
|
||||
+ info.dst = jhash2(iph->daddr.s6_addr32, 4, q->perturbation);
|
||||
+ info.src = jhash2(iph->saddr.s6_addr32, 4, q->perturbation);
|
||||
+ if (iph->nexthdr == IPPROTO_TCP ||
|
||||
+ iph->nexthdr == IPPROTO_UDP ||
|
||||
+ iph->nexthdr == IPPROTO_SCTP ||
|
||||
+ iph->nexthdr == IPPROTO_DCCP ||
|
||||
+ iph->nexthdr == IPPROTO_ESP)
|
||||
+ h2 ^= *(u32*)&iph[1];
|
||||
+ info.proto = *(u32*)&iph[1];
|
||||
+ else
|
||||
+ info.proto = iph->nexthdr;
|
||||
+ break;
|
||||
+ }
|
||||
+ default:
|
||||
+ h = (u32)(unsigned long)skb->dst;
|
||||
+ hs = (u32)(unsigned long)skb->sk;
|
||||
+ nfm = skb->nfmark;
|
||||
+ h2 = hs^skb->protocol;
|
||||
+ info.dst = (u32)(unsigned long)skb->dst;
|
||||
+ info.src = (u32)(unsigned long)skb->sk;
|
||||
+ info.proto = skb->protocol;
|
||||
+ }
|
||||
+
|
||||
+ info.mark = skb->mark;
|
||||
+
|
||||
+#ifdef CONFIG_NF_CONNTRACK_ENABLED
|
||||
+ /* defaults if there is no conntrack info */
|
||||
+ info.ctorigsrc = info.src;
|
||||
+ info.ctorigdst = info.dst;
|
||||
+ info.ctreplsrc = info.dst;
|
||||
+ info.ctrepldst = info.src;
|
||||
+ /* collect conntrack info */
|
||||
+ if (ct && ct != &nf_conntrack_untracked) {
|
||||
+ if (skb->protocol == __constant_htons(ETH_P_IP)) {
|
||||
+ info.ctorigsrc = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.ip;
|
||||
+ info.ctorigdst = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.u3.ip;
|
||||
+ info.ctreplsrc = ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.u3.ip;
|
||||
+ info.ctrepldst = ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.u3.ip;
|
||||
+ }
|
||||
+ else if (skb->protocol == __constant_htons(ETH_P_IPV6)) {
|
||||
+ /* Again, hash ipv6 addresses into a single u32. */
|
||||
+ info.ctorigsrc = jhash2(ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.ip6, 4, q->perturbation);
|
||||
+ info.ctorigdst = jhash2(ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.u3.ip6, 4, q->perturbation);
|
||||
+ info.ctreplsrc = jhash2(ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.u3.ip6, 4, q->perturbation);
|
||||
+ info.ctrepldst = jhash2(ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.u3.ip6, 4, q->perturbation);
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ switch(q->hash_kind)
|
||||
+ {
|
||||
+ case TCA_SFQ_HASH_CLASSIC:
|
||||
+ return esfq_fold_hash_classic(q, h, h2);
|
||||
+ return esfq_jhash_3words(q, info.dst, info.src, info.proto);
|
||||
+ case TCA_SFQ_HASH_DST:
|
||||
+ return esfq_hash_u32(q,h);
|
||||
+ return esfq_jhash_1word(q, info.dst);
|
||||
+ case TCA_SFQ_HASH_DSTDIR:
|
||||
+ return esfq_hash_direct(q, ntohl(h));
|
||||
+ return esfq_hash_direct(q, ntohl(info.dst));
|
||||
+ case TCA_SFQ_HASH_SRC:
|
||||
+ return esfq_hash_u32(q,hs);
|
||||
+ return esfq_jhash_1word(q, info.src);
|
||||
+ case TCA_SFQ_HASH_SRCDIR:
|
||||
+ return esfq_hash_direct(q, ntohl(hs));
|
||||
+#ifdef CONFIG_NETFILTER
|
||||
+ return esfq_hash_direct(q, ntohl(info.src));
|
||||
+ case TCA_SFQ_HASH_FWMARK:
|
||||
+ return esfq_hash_u32(q,nfm);
|
||||
+ return esfq_jhash_1word(q, info.mark);
|
||||
+ case TCA_SFQ_HASH_FWMARKDIR:
|
||||
+ return esfq_hash_direct(q,nfm);
|
||||
+ return esfq_hash_direct(q, info.mark);
|
||||
+#ifdef CONFIG_NF_CONNTRACK_ENABLED
|
||||
+ case TCA_SFQ_HASH_CTORIGDST:
|
||||
+ return esfq_jhash_1word(q, info.ctorigdst);
|
||||
+ case TCA_SFQ_HASH_CTORIGSRC:
|
||||
+ return esfq_jhash_1word(q, info.ctorigsrc);
|
||||
+ case TCA_SFQ_HASH_CTREPLDST:
|
||||
+ return esfq_jhash_1word(q, info.ctrepldst);
|
||||
+ case TCA_SFQ_HASH_CTREPLSRC:
|
||||
+ return esfq_jhash_1word(q, info.ctreplsrc);
|
||||
+#endif
|
||||
+ default:
|
||||
+ if (net_ratelimit())
|
||||
+ printk(KERN_WARNING "ESFQ: Unknown hash method. Falling back to classic.\n");
|
||||
+ }
|
||||
+ return esfq_fold_hash_classic(q, h, h2);
|
||||
+ return esfq_jhash_3words(q, info.dst, info.src, info.proto);
|
||||
+}
|
||||
+
|
||||
+static inline void esfq_link(struct esfq_sched_data *q, esfq_index x)
|
||||
|
@ -365,6 +423,7 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ esfq_dec(q, x);
|
||||
+ sch->q.qlen--;
|
||||
+ sch->qstats.drops++;
|
||||
+ sch->qstats.backlog -= len;
|
||||
+ return len;
|
||||
+ }
|
||||
+
|
||||
|
@ -381,6 +440,7 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ sch->q.qlen--;
|
||||
+ q->ht[q->hash[d]] = q->depth;
|
||||
+ sch->qstats.drops++;
|
||||
+ sch->qstats.backlog -= len;
|
||||
+ return len;
|
||||
+ }
|
||||
+
|
||||
|
@ -400,6 +460,7 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ q->ht[hash] = x = q->dep[depth].next;
|
||||
+ q->hash[x] = hash;
|
||||
+ }
|
||||
+ sch->qstats.backlog += skb->len;
|
||||
+ __skb_queue_tail(&q->qs[x], skb);
|
||||
+ esfq_inc(q, x);
|
||||
+ if (q->qs[x].qlen == 1) { /* The flow is new */
|
||||
|
@ -436,6 +497,7 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ q->ht[hash] = x = q->dep[depth].next;
|
||||
+ q->hash[x] = hash;
|
||||
+ }
|
||||
+ sch->qstats.backlog += skb->len;
|
||||
+ __skb_queue_head(&q->qs[x], skb);
|
||||
+ esfq_inc(q, x);
|
||||
+ if (q->qs[x].qlen == 1) { /* The flow is new */
|
||||
|
@ -480,6 +542,7 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+ skb = __skb_dequeue(&q->qs[a]);
|
||||
+ esfq_dec(q, a);
|
||||
+ sch->q.qlen--;
|
||||
+ sch->qstats.backlog -= skb->len;
|
||||
+
|
||||
+ /* Is the slot empty? */
|
||||
+ if (q->qs[a].qlen == 0) {
|
||||
|
@ -566,7 +629,7 @@ diff -urN linux-2.6.19.old/net/sched/sch_esfq.c linux-2.6.19.dev/net/sched/sch_e
|
|||
+{
|
||||
+ struct esfq_sched_data *q = qdisc_priv(sch);
|
||||
+ struct tc_esfq_qopt *ctl;
|
||||
+ esfq_index p = ~0UL/2;
|
||||
+ esfq_index p = ~0U/2;
|
||||
+ int i;
|
||||
+
|
||||
+ if (opt && opt->rta_len < RTA_LENGTH(sizeof(*ctl)))
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,26 +1,26 @@
|
|||
diff -urN linux.old/fs/Kconfig linux.dev/fs/Kconfig
|
||||
--- linux.old/fs/Kconfig 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux.dev/fs/Kconfig 2006-12-14 04:21:47.000000000 +0100
|
||||
@@ -1202,6 +1202,8 @@
|
||||
diff -Nur linux-2.6.21.1/fs/Kconfig linux-2.6.21.1-owrt/fs/Kconfig
|
||||
--- linux-2.6.21.1/fs/Kconfig 2007-05-14 10:49:47.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/fs/Kconfig 2007-05-14 11:53:15.000000000 +0200
|
||||
@@ -1189,6 +1189,8 @@
|
||||
To compile the EFS file system support as a module, choose M here: the
|
||||
module will be called efs.
|
||||
|
||||
+source "fs/yaffs2/Kconfig"
|
||||
+
|
||||
config JFFS_FS
|
||||
tristate "Journalling Flash File System (JFFS) support"
|
||||
depends on MTD && BLOCK
|
||||
diff -urN linux.old/fs/Makefile linux.dev/fs/Makefile
|
||||
--- linux.old/fs/Makefile 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux.dev/fs/Makefile 2006-12-14 04:21:47.000000000 +0100
|
||||
@@ -114,3 +114,4 @@
|
||||
config JFFS2_FS
|
||||
tristate "Journalling Flash File System v2 (JFFS2) support"
|
||||
select CRC32
|
||||
diff -Nur linux-2.6.21.1/fs/Makefile linux-2.6.21.1-owrt/fs/Makefile
|
||||
--- linux-2.6.21.1/fs/Makefile 2007-05-14 10:49:47.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/fs/Makefile 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -115,3 +115,4 @@
|
||||
obj-$(CONFIG_DEBUG_FS) += debugfs/
|
||||
obj-$(CONFIG_OCFS2_FS) += ocfs2/
|
||||
obj-$(CONFIG_GFS2_FS) += gfs2/
|
||||
+obj-$(CONFIG_YAFFS_FS) += yaffs2/
|
||||
diff -urN linux.old/fs/yaffs2/devextras.h linux.dev/fs/yaffs2/devextras.h
|
||||
--- linux.old/fs/yaffs2/devextras.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/devextras.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/devextras.h linux-2.6.21.1-owrt/fs/yaffs2/devextras.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/devextras.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/devextras.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,265 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -287,9 +287,9 @@ diff -urN linux.old/fs/yaffs2/devextras.h linux.dev/fs/yaffs2/devextras.h
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/Kconfig linux.dev/fs/yaffs2/Kconfig
|
||||
--- linux.old/fs/yaffs2/Kconfig 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/Kconfig 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/Kconfig linux-2.6.21.1-owrt/fs/yaffs2/Kconfig
|
||||
--- linux-2.6.21.1/fs/yaffs2/Kconfig 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/Kconfig 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,135 @@
|
||||
+#
|
||||
+# YAFFS file system configurations
|
||||
|
@ -426,9 +426,9 @@ diff -urN linux.old/fs/yaffs2/Kconfig linux.dev/fs/yaffs2/Kconfig
|
|||
+ but makes look-ups faster.
|
||||
+
|
||||
+ If unsure, say Y.
|
||||
diff -urN linux.old/fs/yaffs2/Makefile linux.dev/fs/yaffs2/Makefile
|
||||
--- linux.old/fs/yaffs2/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/Makefile 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/Makefile linux-2.6.21.1-owrt/fs/yaffs2/Makefile
|
||||
--- linux-2.6.21.1/fs/yaffs2/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/Makefile 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,10 @@
|
||||
+#
|
||||
+# Makefile for the linux YAFFS filesystem routines.
|
||||
|
@ -440,9 +440,9 @@ diff -urN linux.old/fs/yaffs2/Makefile linux.dev/fs/yaffs2/Makefile
|
|||
+yaffs-y += yaffs_packedtags2.o yaffs_nand.o yaffs_qsort.o
|
||||
+yaffs-y += yaffs_tagscompat.o yaffs_tagsvalidity.o
|
||||
+yaffs-y += yaffs_mtdif.o yaffs_mtdif2.o
|
||||
diff -urN linux.old/fs/yaffs2/moduleconfig.h linux.dev/fs/yaffs2/moduleconfig.h
|
||||
--- linux.old/fs/yaffs2/moduleconfig.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/moduleconfig.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/moduleconfig.h linux-2.6.21.1-owrt/fs/yaffs2/moduleconfig.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/moduleconfig.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/moduleconfig.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,32 @@
|
||||
+#ifndef __YAFFS_CONFIG_H__
|
||||
+#define __YAFFS_CONFIG_H__
|
||||
|
@ -476,9 +476,9 @@ diff -urN linux.old/fs/yaffs2/moduleconfig.h linux.dev/fs/yaffs2/moduleconfig.h
|
|||
+#endif /* YAFFS_OUT_OF_TREE */
|
||||
+
|
||||
+#endif /* __YAFFS_CONFIG_H__ */
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_checkptrw.c linux.dev/fs/yaffs2/yaffs_checkptrw.c
|
||||
--- linux.old/fs/yaffs2/yaffs_checkptrw.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_checkptrw.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_checkptrw.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_checkptrw.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,384 @@
|
||||
+/* YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
+ *
|
||||
|
@ -864,9 +864,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_checkptrw.c linux.dev/fs/yaffs2/yaffs_checkp
|
|||
+
|
||||
+
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_checkptrw.h linux.dev/fs/yaffs2/yaffs_checkptrw.h
|
||||
--- linux.old/fs/yaffs2/yaffs_checkptrw.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_checkptrw.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_checkptrw.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_checkptrw.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_checkptrw.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,18 @@
|
||||
+#ifndef __YAFFS_CHECKPTRW_H__
|
||||
+#define __YAFFS_CHECKPTRW_H__
|
||||
|
@ -886,9 +886,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_checkptrw.h linux.dev/fs/yaffs2/yaffs_checkp
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_ecc.c linux.dev/fs/yaffs2/yaffs_ecc.c
|
||||
--- linux.old/fs/yaffs2/yaffs_ecc.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_ecc.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_ecc.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_ecc.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_ecc.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_ecc.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,333 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -1223,9 +1223,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_ecc.c linux.dev/fs/yaffs2/yaffs_ecc.c
|
|||
+
|
||||
+}
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_ecc.h linux.dev/fs/yaffs2/yaffs_ecc.h
|
||||
--- linux.old/fs/yaffs2/yaffs_ecc.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_ecc.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_ecc.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_ecc.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_ecc.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_ecc.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,44 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -1271,9 +1271,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_ecc.h linux.dev/fs/yaffs2/yaffs_ecc.h
|
|||
+ yaffs_ECCOther * read_ecc,
|
||||
+ const yaffs_ECCOther * test_ecc);
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_fs.c linux.dev/fs/yaffs2/yaffs_fs.c
|
||||
--- linux.old/fs/yaffs2/yaffs_fs.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_fs.c 2006-12-14 04:33:02.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_fs.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_fs.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_fs.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_fs.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,2136 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -3411,9 +3411,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_fs.c linux.dev/fs/yaffs2/yaffs_fs.c
|
|||
+MODULE_DESCRIPTION("YAFFS2 - a NAND specific flash file system");
|
||||
+MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002-2006");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_guts.c linux.dev/fs/yaffs2/yaffs_guts.c
|
||||
--- linux.old/fs/yaffs2/yaffs_guts.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_guts.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_guts.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_guts.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_guts.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_guts.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,6675 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -10090,9 +10090,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_guts.c linux.dev/fs/yaffs2/yaffs_guts.c
|
|||
+
|
||||
+ return YAFFS_OK;
|
||||
+}
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_guts.h linux.dev/fs/yaffs2/yaffs_guts.h
|
||||
--- linux.old/fs/yaffs2/yaffs_guts.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_guts.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_guts.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_guts.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_guts.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_guts.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,893 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -10987,9 +10987,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_guts.h linux.dev/fs/yaffs2/yaffs_guts.h
|
|||
+void yaffs_HandleChunkError(yaffs_Device *dev, yaffs_BlockInfo *bi);
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffsinterface.h linux.dev/fs/yaffs2/yaffsinterface.h
|
||||
--- linux.old/fs/yaffs2/yaffsinterface.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffsinterface.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffsinterface.h linux-2.6.21.1-owrt/fs/yaffs2/yaffsinterface.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffsinterface.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffsinterface.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,23 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11014,9 +11014,9 @@ diff -urN linux.old/fs/yaffs2/yaffsinterface.h linux.dev/fs/yaffs2/yaffsinterfac
|
|||
+int yaffs_Initialise(unsigned nBlocks);
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_mtdif2.c linux.dev/fs/yaffs2/yaffs_mtdif2.c
|
||||
--- linux.old/fs/yaffs2/yaffs_mtdif2.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_mtdif2.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif2.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif2.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,234 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11252,9 +11252,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_mtdif2.c linux.dev/fs/yaffs2/yaffs_mtdif2.c
|
|||
+ return YAFFS_FAIL;
|
||||
+}
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_mtdif2.h linux.dev/fs/yaffs2/yaffs_mtdif2.h
|
||||
--- linux.old/fs/yaffs2/yaffs_mtdif2.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_mtdif2.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif2.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif2.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif2.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,29 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11285,9 +11285,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_mtdif2.h linux.dev/fs/yaffs2/yaffs_mtdif2.h
|
|||
+ yaffs_BlockState * state, int *sequenceNumber);
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_mtdif.c linux.dev/fs/yaffs2/yaffs_mtdif.c
|
||||
--- linux.old/fs/yaffs2/yaffs_mtdif.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_mtdif.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,243 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11532,9 +11532,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_mtdif.c linux.dev/fs/yaffs2/yaffs_mtdif.c
|
|||
+ return YAFFS_OK;
|
||||
+}
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_mtdif.h linux.dev/fs/yaffs2/yaffs_mtdif.h
|
||||
--- linux.old/fs/yaffs2/yaffs_mtdif.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_mtdif.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_mtdif.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_mtdif.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,31 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11567,9 +11567,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_mtdif.h linux.dev/fs/yaffs2/yaffs_mtdif.h
|
|||
+int nandmtd_EraseBlockInNAND(yaffs_Device * dev, int blockNumber);
|
||||
+int nandmtd_InitialiseNAND(yaffs_Device * dev);
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_nand.c linux.dev/fs/yaffs2/yaffs_nand.c
|
||||
--- linux.old/fs/yaffs2/yaffs_nand.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_nand.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_nand.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_nand.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_nand.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_nand.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,135 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11706,9 +11706,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_nand.c linux.dev/fs/yaffs2/yaffs_nand.c
|
|||
+
|
||||
+
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_nandemul2k.h linux.dev/fs/yaffs2/yaffs_nandemul2k.h
|
||||
--- linux.old/fs/yaffs2/yaffs_nandemul2k.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_nandemul2k.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_nandemul2k.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_nandemul2k.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_nandemul2k.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_nandemul2k.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,42 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11752,9 +11752,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_nandemul2k.h linux.dev/fs/yaffs2/yaffs_nande
|
|||
+int nandemul2k_GetNumberOfBlocks(void);
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_nand.h linux.dev/fs/yaffs2/yaffs_nand.h
|
||||
--- linux.old/fs/yaffs2/yaffs_nand.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_nand.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_nand.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_nand.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_nand.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_nand.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,43 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -11799,9 +11799,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_nand.h linux.dev/fs/yaffs2/yaffs_nand.h
|
|||
+
|
||||
+#endif
|
||||
+
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_packedtags1.c linux.dev/fs/yaffs2/yaffs_packedtags1.c
|
||||
--- linux.old/fs/yaffs2/yaffs_packedtags1.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_packedtags1.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags1.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags1.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,39 @@
|
||||
+#include "yaffs_packedtags1.h"
|
||||
+#include "yportenv.h"
|
||||
|
@ -11842,9 +11842,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_packedtags1.c linux.dev/fs/yaffs2/yaffs_pack
|
|||
+
|
||||
+ }
|
||||
+}
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_packedtags1.h linux.dev/fs/yaffs2/yaffs_packedtags1.h
|
||||
--- linux.old/fs/yaffs2/yaffs_packedtags1.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_packedtags1.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags1.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags1.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags1.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,22 @@
|
||||
+// This is used to pack YAFFS1 tags, not YAFFS2 tags.
|
||||
+
|
||||
|
@ -11868,9 +11868,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_packedtags1.h linux.dev/fs/yaffs2/yaffs_pack
|
|||
+void yaffs_PackTags1(yaffs_PackedTags1 * pt, const yaffs_ExtendedTags * t);
|
||||
+void yaffs_UnpackTags1(yaffs_ExtendedTags * t, const yaffs_PackedTags1 * pt);
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_packedtags2.c linux.dev/fs/yaffs2/yaffs_packedtags2.c
|
||||
--- linux.old/fs/yaffs2/yaffs_packedtags2.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_packedtags2.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags2.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags2.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,184 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -12056,9 +12056,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_packedtags2.c linux.dev/fs/yaffs2/yaffs_pack
|
|||
+ yaffs_DumpTags2(t);
|
||||
+
|
||||
+}
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_packedtags2.h linux.dev/fs/yaffs2/yaffs_packedtags2.h
|
||||
--- linux.old/fs/yaffs2/yaffs_packedtags2.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_packedtags2.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags2.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_packedtags2.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_packedtags2.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* This is used to pack YAFFS2 tags, not YAFFS1tags. */
|
||||
+
|
||||
|
@ -12083,9 +12083,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_packedtags2.h linux.dev/fs/yaffs2/yaffs_pack
|
|||
+void yaffs_PackTags2(yaffs_PackedTags2 * pt, const yaffs_ExtendedTags * t);
|
||||
+void yaffs_UnpackTags2(yaffs_ExtendedTags * t, yaffs_PackedTags2 * pt);
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_qsort.c linux.dev/fs/yaffs2/yaffs_qsort.c
|
||||
--- linux.old/fs/yaffs2/yaffs_qsort.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_qsort.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_qsort.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_qsort.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_qsort.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_qsort.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,156 @@
|
||||
+/*
|
||||
+ * Copyright (c) 1992, 1993
|
||||
|
@ -12243,9 +12243,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_qsort.c linux.dev/fs/yaffs2/yaffs_qsort.c
|
|||
+ }
|
||||
+/* qsort(pn - r, r / es, es, cmp);*/
|
||||
+}
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_qsort.h linux.dev/fs/yaffs2/yaffs_qsort.h
|
||||
--- linux.old/fs/yaffs2/yaffs_qsort.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_qsort.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_qsort.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_qsort.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_qsort.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_qsort.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,23 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -12270,9 +12270,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_qsort.h linux.dev/fs/yaffs2/yaffs_qsort.h
|
|||
+ int (*cmp)(const void *, const void *));
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_tagscompat.c linux.dev/fs/yaffs2/yaffs_tagscompat.c
|
||||
--- linux.old/fs/yaffs2/yaffs_tagscompat.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_tagscompat.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagscompat.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagscompat.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,532 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -12806,9 +12806,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_tagscompat.c linux.dev/fs/yaffs2/yaffs_tagsc
|
|||
+
|
||||
+ return YAFFS_OK;
|
||||
+}
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_tagscompat.h linux.dev/fs/yaffs2/yaffs_tagscompat.h
|
||||
--- linux.old/fs/yaffs2/yaffs_tagscompat.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_tagscompat.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagscompat.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagscompat.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagscompat.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,40 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
@ -12850,9 +12850,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_tagscompat.h linux.dev/fs/yaffs2/yaffs_tagsc
|
|||
+ state, int *sequenceNumber);
|
||||
+
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_tagsvalidity.c linux.dev/fs/yaffs2/yaffs_tagsvalidity.c
|
||||
--- linux.old/fs/yaffs2/yaffs_tagsvalidity.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_tagsvalidity.c 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.c linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagsvalidity.c
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagsvalidity.c 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,31 @@
|
||||
+
|
||||
+/*
|
||||
|
@ -12885,9 +12885,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_tagsvalidity.c linux.dev/fs/yaffs2/yaffs_tag
|
|||
+ tags->validMarker1 == 0x55555555);
|
||||
+
|
||||
+}
|
||||
diff -urN linux.old/fs/yaffs2/yaffs_tagsvalidity.h linux.dev/fs/yaffs2/yaffs_tagsvalidity.h
|
||||
--- linux.old/fs/yaffs2/yaffs_tagsvalidity.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yaffs_tagsvalidity.h 2006-12-14 04:21:47.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.h linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagsvalidity.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yaffs_tagsvalidity.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yaffs_tagsvalidity.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,25 @@
|
||||
+
|
||||
+/*
|
||||
|
@ -12914,9 +12914,9 @@ diff -urN linux.old/fs/yaffs2/yaffs_tagsvalidity.h linux.dev/fs/yaffs2/yaffs_tag
|
|||
+void yaffs_InitialiseTags(yaffs_ExtendedTags * tags);
|
||||
+int yaffs_ValidateTags(yaffs_ExtendedTags * tags);
|
||||
+#endif
|
||||
diff -urN linux.old/fs/yaffs2/yportenv.h linux.dev/fs/yaffs2/yportenv.h
|
||||
--- linux.old/fs/yaffs2/yportenv.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux.dev/fs/yaffs2/yportenv.h 2006-12-14 04:26:06.000000000 +0100
|
||||
diff -Nur linux-2.6.21.1/fs/yaffs2/yportenv.h linux-2.6.21.1-owrt/fs/yaffs2/yportenv.h
|
||||
--- linux-2.6.21.1/fs/yaffs2/yportenv.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/fs/yaffs2/yportenv.h 2007-05-14 11:52:43.000000000 +0200
|
||||
@@ -0,0 +1,165 @@
|
||||
+/*
|
||||
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -Naur linux-old/arch/i386/boot/compressed/LzmaDecode.c linux-lzma/arch/i386/boot/compressed/LzmaDecode.c
|
||||
--- linux-old/arch/i386/boot/compressed/LzmaDecode.c 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ linux-lzma/arch/i386/boot/compressed/LzmaDecode.c 2005-06-05 00:07:38.000000000 -0400
|
||||
diff -Nur linux-2.6.21.1/arch/i386/boot/compressed/LzmaDecode.c linux-2.6.21.1-owrt/arch/i386/boot/compressed/LzmaDecode.c
|
||||
--- linux-2.6.21.1/arch/i386/boot/compressed/LzmaDecode.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/arch/i386/boot/compressed/LzmaDecode.c 2007-05-14 11:55:38.000000000 +0200
|
||||
@@ -0,0 +1,586 @@
|
||||
+/*
|
||||
+ LzmaDecode.c
|
||||
|
@ -588,9 +588,9 @@ diff -Naur linux-old/arch/i386/boot/compressed/LzmaDecode.c linux-lzma/arch/i386
|
|||
+ *outSizeProcessed = nowPos;
|
||||
+ return LZMA_RESULT_OK;
|
||||
+}
|
||||
diff -Naur linux-old/arch/i386/boot/compressed/LzmaDecode.h linux-lzma/arch/i386/boot/compressed/LzmaDecode.h
|
||||
--- linux-old/arch/i386/boot/compressed/LzmaDecode.h 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ linux-lzma/arch/i386/boot/compressed/LzmaDecode.h 2005-06-05 00:07:39.000000000 -0400
|
||||
diff -Nur linux-2.6.21.1/arch/i386/boot/compressed/LzmaDecode.h linux-2.6.21.1-owrt/arch/i386/boot/compressed/LzmaDecode.h
|
||||
--- linux-2.6.21.1/arch/i386/boot/compressed/LzmaDecode.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/arch/i386/boot/compressed/LzmaDecode.h 2007-05-14 11:55:38.000000000 +0200
|
||||
@@ -0,0 +1,100 @@
|
||||
+/*
|
||||
+ LzmaDecode.h
|
||||
|
@ -692,52 +692,9 @@ diff -Naur linux-old/arch/i386/boot/compressed/LzmaDecode.h linux-lzma/arch/i386
|
|||
+ UInt32 *outSizeProcessed);
|
||||
+
|
||||
+#endif
|
||||
diff -Naur linux-old/arch/i386/boot/compressed/Makefile linux-lzma/arch/i386/boot/compressed/Makefile
|
||||
--- linux-old/arch/i386/boot/compressed/Makefile 2005-06-04 21:53:40.000000000 -0400
|
||||
+++ linux-lzma/arch/i386/boot/compressed/Makefile 2005-06-05 00:25:23.000000000 -0400
|
||||
@@ -2,24 +2,33 @@
|
||||
# linux/arch/i386/boot/compressed/Makefile
|
||||
#
|
||||
# create a compressed vmlinux image from the original vmlinux
|
||||
+# patched by Ming-Ching Tiew <mctiew@yahoo.com> for kernel 2.6
|
||||
+# requires program 'lzma' from LZMA SDK ( http://www.7-zip.org/ ) to work
|
||||
+# $ mkdir lzma
|
||||
+# $ cd lzma
|
||||
+# $ tar tvjf ../lzma417.tar.bz2
|
||||
+# $ cd SRC/7zip/Compress/LZMA_Alone
|
||||
+# $ dos2unix makefile
|
||||
+# $ make
|
||||
+# $ su
|
||||
+# # cp lzma /usr/bin
|
||||
#
|
||||
-
|
||||
-targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o
|
||||
+targets := vmlinux vmlinux.bin vmlinux.bin.lzma head.o lzma_misc.o piggy.o
|
||||
EXTRA_AFLAGS := -traditional
|
||||
|
||||
LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup_32
|
||||
|
||||
-$(obj)/vmlinux: $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
|
||||
+$(obj)/vmlinux: $(obj)/head.o $(obj)/lzma_misc.o $(obj)/piggy.o FORCE
|
||||
$(call if_changed,ld)
|
||||
@:
|
||||
|
||||
$(obj)/vmlinux.bin: vmlinux FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
|
||||
- $(call if_changed,gzip)
|
||||
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
|
||||
+ $(call if_changed,lzma)
|
||||
|
||||
LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
|
||||
|
||||
-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
|
||||
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.lzma FORCE
|
||||
$(call if_changed,ld)
|
||||
diff -Naur linux-old/arch/i386/boot/compressed/lzma_misc.c linux-lzma/arch/i386/boot/compressed/lzma_misc.c
|
||||
--- linux-old/arch/i386/boot/compressed/lzma_misc.c 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ linux-lzma/arch/i386/boot/compressed/lzma_misc.c 2005-06-04 21:33:48.000000000 -0400
|
||||
diff -Nur linux-2.6.21.1/arch/i386/boot/compressed/lzma_misc.c linux-2.6.21.1-owrt/arch/i386/boot/compressed/lzma_misc.c
|
||||
--- linux-2.6.21.1/arch/i386/boot/compressed/lzma_misc.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.21.1-owrt/arch/i386/boot/compressed/lzma_misc.c 2007-05-14 11:55:38.000000000 +0200
|
||||
@@ -0,0 +1,412 @@
|
||||
+/*
|
||||
+ * lzma_misc.c
|
||||
|
@ -1151,9 +1108,50 @@ diff -Naur linux-old/arch/i386/boot/compressed/lzma_misc.c linux-lzma/arch/i386/
|
|||
+ if (high_loaded) close_output_buffer_if_we_run_high(mv);
|
||||
+ return high_loaded;
|
||||
+}
|
||||
diff -urN linux-2.6.19.2/scripts/Makefile.lib linux-2.6.19.2.new/scripts/Makefile.lib
|
||||
--- linux-2.6.19.2/scripts/Makefile.lib 2007-01-10 20:10:37.000000000 +0100
|
||||
+++ linux-2.6.19.2.new/scripts/Makefile.lib 2007-04-15 23:51:54.000000000 +0200
|
||||
diff -Nur linux-2.6.21.1/arch/i386/boot/compressed/Makefile linux-2.6.21.1-owrt/arch/i386/boot/compressed/Makefile
|
||||
--- linux-2.6.21.1/arch/i386/boot/compressed/Makefile 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/arch/i386/boot/compressed/Makefile 2007-05-14 12:01:25.000000000 +0200
|
||||
@@ -4,7 +4,7 @@
|
||||
# create a compressed vmlinux image from the original vmlinux
|
||||
#
|
||||
|
||||
-targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o \
|
||||
+targets := vmlinux vmlinux.bin vmlinux.bin.lzma head.o lzma_misc.o piggy.o \
|
||||
vmlinux.bin.all vmlinux.relocs
|
||||
EXTRA_AFLAGS := -traditional
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
CFLAGS_misc.o += -fPIC
|
||||
hostprogs-y := relocs
|
||||
|
||||
-$(obj)/vmlinux: $(src)/vmlinux.lds $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
|
||||
+$(obj)/vmlinux: $(src)/vmlinux.lds $(obj)/head.o $(obj)/lzma_misc.o $(obj)/piggy.o FORCE
|
||||
$(call if_changed,ld)
|
||||
@:
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
$(call if_changed,relocbin)
|
||||
|
||||
ifdef CONFIG_RELOCATABLE
|
||||
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin.all FORCE
|
||||
- $(call if_changed,gzip)
|
||||
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin.all FORCE
|
||||
+ $(call if_changed,lzma)
|
||||
else
|
||||
-$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
|
||||
- $(call if_changed,gzip)
|
||||
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
|
||||
+ $(call if_changed,lzma)
|
||||
endif
|
||||
|
||||
LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
|
||||
|
||||
-$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
|
||||
+$(obj)/piggy.o: $(src)/vmlinux.scr $(obj)/vmlinux.bin.lzma FORCE
|
||||
$(call if_changed,ld)
|
||||
diff -Nur linux-2.6.21.1/scripts/Makefile.lib linux-2.6.21.1-owrt/scripts/Makefile.lib
|
||||
--- linux-2.6.21.1/scripts/Makefile.lib 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/scripts/Makefile.lib 2007-05-14 11:55:38.000000000 +0200
|
||||
@@ -162,4 +162,9 @@
|
||||
quiet_cmd_gzip = GZIP $@
|
||||
cmd_gzip = gzip -f -9 < $< > $@
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff -urN linux-2.6.19.2-old/drivers/usb/serial/airprime.c linux-2.6.19.2-dev/drivers/usb/serial/airprime.c
|
||||
--- linux-2.6.19.2-old/drivers/usb/serial/airprime.c 2007-05-01 14:11:28.000000000 -0700
|
||||
+++ linux-2.6.19.2-dev/drivers/usb/serial/airprime.c 2007-05-01 14:12:03.000000000 -0700
|
||||
@@ -20,6 +20,8 @@
|
||||
{ USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
|
||||
{ USB_DEVICE(0x1410, 0x1110) }, /* Novatel Wireless Merlin CDMA */
|
||||
{ USB_DEVICE(0x1410, 0x1100) }, /* ExpressCard34 Qualcomm 3G CDMA */
|
||||
+ { USB_DEVICE(0x1410, 0x1130) }, /* Novatel Wireless S720 CDMA/EV-DO */
|
||||
+ { USB_DEVICE(0x1410, 0x2110) }, /* Novatel Wireless U720 CDMA/EV-DO */
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, id_table);
|
|
@ -1,11 +0,0 @@
|
|||
diff -urN linux-2.6.19.old/include/asm-mips/bitops.h linux-2.6.19.dev/include/asm-mips/bitops.h
|
||||
--- linux-2.6.19.old/include/asm-mips/bitops.h 2006-11-29 22:57:37.000000000 +0100
|
||||
+++ linux-2.6.19.dev/include/asm-mips/bitops.h 2006-12-14 03:14:07.000000000 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/types.h>
|
||||
+#include <asm/war.h>
|
||||
#include <asm/bug.h>
|
||||
#include <asm/byteorder.h> /* sigh ... */
|
||||
#include <asm/cpu-features.h>
|
|
@ -1,24 +1,21 @@
|
|||
diff -urN linux-2.6.19.2/scripts/gen_initramfs_list.sh linux-2.6.19.2.new/scripts/gen_initramfs_list.sh
|
||||
--- linux-2.6.19.2/scripts/gen_initramfs_list.sh 2007-01-10 20:10:37.000000000 +0100
|
||||
+++ linux-2.6.19.2.new/scripts/gen_initramfs_list.sh 2007-05-03 16:25:06.000000000 +0200
|
||||
@@ -120,9 +120,9 @@
|
||||
diff -Nur linux-2.6.21.1/scripts/gen_initramfs_list.sh linux-2.6.21.1-owrt/scripts/gen_initramfs_list.sh
|
||||
--- linux-2.6.21.1/scripts/gen_initramfs_list.sh 2007-04-27 23:49:26.000000000 +0200
|
||||
+++ linux-2.6.21.1-owrt/scripts/gen_initramfs_list.sh 2007-05-14 12:18:02.000000000 +0200
|
||||
@@ -125,7 +125,7 @@
|
||||
str="${ftype} ${name} ${location} ${str}"
|
||||
;;
|
||||
"nod")
|
||||
local dev_type=
|
||||
- local maj=$(LC_ALL=C ls -l "${location}" | \
|
||||
+ local maj=$(LC_ALL=C ls --time-style=locale -l "${location}" | \
|
||||
gawk '{sub(/,/, "", $5); print $5}')
|
||||
- local min=$(LC_ALL=C ls -l "${location}" | \
|
||||
+ local min=$(LC_ALL=C ls --time-style=locale -l "${location}" | \
|
||||
gawk '{print $6}')
|
||||
|
||||
if [ -b "${location}" ]; then
|
||||
@@ -133,7 +133,7 @@
|
||||
str="${ftype} ${name} ${str} ${dev_type} ${maj} ${min}"
|
||||
- local dev=`LC_ALL=C ls -l "${location}"`
|
||||
+ local dev=`LC_ALL=C ls -l --time-style=locale "${location}"`
|
||||
local maj=`field 5 ${dev}`
|
||||
local min=`field 6 ${dev}`
|
||||
maj=${maj%,}
|
||||
@@ -135,7 +135,7 @@
|
||||
str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
|
||||
;;
|
||||
"slink")
|
||||
- local target=$(LC_ALL=C ls -l "${location}" | \
|
||||
+ local target=$(LC_ALL=C ls --time-style=locale -l "${location}" | \
|
||||
gawk '{print $11}')
|
||||
- local target=`field 11 $(LC_ALL=C ls -l "${location}")`
|
||||
+ local target=`field 11 $(LC_ALL=C ls -l --time-style=locale "${location}")`
|
||||
str="${ftype} ${name} ${target} ${str}"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -15,8 +15,10 @@ CONFIG_ALIGNMENT_TRAP=y
|
|||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_INTEGRATOR is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
CONFIG_ARCH_IXCDP1100=y
|
||||
CONFIG_ARCH_IXDP425=y
|
||||
CONFIG_ARCH_IXDP4XX=y
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
|
@ -25,6 +27,7 @@ CONFIG_ARCH_IXP4XX=y
|
|||
# CONFIG_ARCH_L7200 is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PRPMC1100 is not set
|
||||
|
@ -202,9 +205,11 @@ CONFIG_IXP4XX_NPE_FW_MTD=y
|
|||
CONFIG_IXP4XX_QMGR=y
|
||||
CONFIG_IXP4XX_CRYPTO=y
|
||||
CONFIG_IXP4XX_WATCHDOG=y
|
||||
# CONFIG_IWMMXT is not set
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
# CONFIG_LANMEDIA is not set
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
@ -318,6 +323,7 @@ CONFIG_PATA_ARTOP=m
|
|||
# CONFIG_PATA_HPT37X is not set
|
||||
# CONFIG_PATA_HPT3X2N is not set
|
||||
# CONFIG_PATA_HPT3X3 is not set
|
||||
CONFIG_PATA_IXP4XX_CF=m
|
||||
# CONFIG_PATA_IT821X is not set
|
||||
# CONFIG_PATA_JMICRON is not set
|
||||
# CONFIG_PATA_MPIIX is not set
|
||||
|
@ -389,6 +395,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
|||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
# CONFIG_SENSORS_ADM1029 is not set
|
||||
# CONFIG_SENSORS_ADM1031 is not set
|
||||
# CONFIG_SENSORS_ADM9240 is not set
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
|
@ -416,6 +423,7 @@ CONFIG_SENSORS_EEPROM=y
|
|||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
|
@ -431,6 +439,7 @@ CONFIG_SENSORS_EEPROM=y
|
|||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83791D is not set
|
||||
# CONFIG_SENSORS_W83792D is not set
|
||||
# CONFIG_SENSORS_W83793 is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
# CONFIG_SHMEM is not set
|
||||
|
|
|
@ -0,0 +1,196 @@
|
|||
This trivial patch updates the nslu2 and nas-100d headers to
|
||||
remove pointless GPIO defines, and updates nslu2-setup.c
|
||||
accordingly. In addition minor style cleanups to some comments
|
||||
are included.
|
||||
|
||||
Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk>
|
||||
|
||||
Index: linux-2.6.21-armeb/arch/arm/mach-ixp4xx/nslu2-setup.c
|
||||
===================================================================
|
||||
--- linux-2.6.21-armeb.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2007-05-09 07:32:43.000000000 -0700
|
||||
+++ linux-2.6.21-armeb/arch/arm/mach-ixp4xx/nslu2-setup.c 2007-05-09 07:32:46.000000000 -0700
|
||||
@@ -50,26 +50,26 @@
|
||||
static struct resource nslu2_led_resources[] = {
|
||||
{
|
||||
.name = "ready", /* green led */
|
||||
- .start = NSLU2_LED_GRN,
|
||||
- .end = NSLU2_LED_GRN,
|
||||
+ .start = NSLU2_LED_GRN_GPIO,
|
||||
+ .end = NSLU2_LED_GRN_GPIO,
|
||||
.flags = IXP4XX_GPIO_HIGH,
|
||||
},
|
||||
{
|
||||
.name = "status", /* red led */
|
||||
- .start = NSLU2_LED_RED,
|
||||
- .end = NSLU2_LED_RED,
|
||||
+ .start = NSLU2_LED_RED_GPIO,
|
||||
+ .end = NSLU2_LED_RED_GPIO,
|
||||
.flags = IXP4XX_GPIO_HIGH,
|
||||
},
|
||||
{
|
||||
.name = "disk-1",
|
||||
- .start = NSLU2_LED_DISK1,
|
||||
- .end = NSLU2_LED_DISK1,
|
||||
+ .start = NSLU2_LED_DISK1_GPIO,
|
||||
+ .end = NSLU2_LED_DISK1_GPIO,
|
||||
.flags = IXP4XX_GPIO_LOW,
|
||||
},
|
||||
{
|
||||
.name = "disk-2",
|
||||
- .start = NSLU2_LED_DISK2,
|
||||
- .end = NSLU2_LED_DISK2,
|
||||
+ .start = NSLU2_LED_DISK2_GPIO,
|
||||
+ .end = NSLU2_LED_DISK2_GPIO,
|
||||
.flags = IXP4XX_GPIO_LOW,
|
||||
},
|
||||
};
|
||||
@@ -181,7 +181,8 @@
|
||||
|
||||
pm_power_off = nslu2_power_off;
|
||||
|
||||
- /* This is only useful on a modified machine, but it is valuable
|
||||
+ /*
|
||||
+ * This is only useful on a modified machine, but it is valuable
|
||||
* to have it first in order to see debug messages, and so that
|
||||
* it does *not* get removed if platform_add_devices fails!
|
||||
*/
|
||||
Index: linux-2.6.21-armeb/include/asm-arm/arch-ixp4xx/nslu2.h
|
||||
===================================================================
|
||||
--- linux-2.6.21-armeb.orig/include/asm-arm/arch-ixp4xx/nslu2.h 2007-05-09 07:32:43.000000000 -0700
|
||||
+++ linux-2.6.21-armeb/include/asm-arm/arch-ixp4xx/nslu2.h 2007-05-09 07:32:46.000000000 -0700
|
||||
@@ -9,7 +9,7 @@
|
||||
* based on ixdp425.h:
|
||||
* Copyright 2004 (c) MontaVista, Software, Inc.
|
||||
*
|
||||
- * This file is licensed under the terms of the GNU General Public
|
||||
+ * This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
@@ -34,36 +34,14 @@
|
||||
#define NSLU2_PCI_INTC_PIN 9
|
||||
#define NSLU2_PCI_INTD_PIN 8
|
||||
|
||||
-
|
||||
/* NSLU2 Timer */
|
||||
#define NSLU2_FREQ 66000000
|
||||
-#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
|
||||
-#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
|
||||
-
|
||||
-/* GPIO */
|
||||
-
|
||||
-#define NSLU2_GPIO0 0
|
||||
-#define NSLU2_GPIO1 1
|
||||
-#define NSLU2_GPIO2 2
|
||||
-#define NSLU2_GPIO3 3
|
||||
-#define NSLU2_GPIO4 4
|
||||
-#define NSLU2_GPIO5 5
|
||||
-#define NSLU2_GPIO6 6
|
||||
-#define NSLU2_GPIO7 7
|
||||
-#define NSLU2_GPIO8 8
|
||||
-#define NSLU2_GPIO9 9
|
||||
-#define NSLU2_GPIO10 10
|
||||
-#define NSLU2_GPIO11 11
|
||||
-#define NSLU2_GPIO12 12
|
||||
-#define NSLU2_GPIO13 13
|
||||
-#define NSLU2_GPIO14 14
|
||||
-#define NSLU2_GPIO15 15
|
||||
|
||||
/* Buttons */
|
||||
|
||||
-#define NSLU2_PB_GPIO NSLU2_GPIO5
|
||||
-#define NSLU2_PO_GPIO NSLU2_GPIO8 /* power off */
|
||||
-#define NSLU2_RB_GPIO NSLU2_GPIO12
|
||||
+#define NSLU2_PB_GPIO 5
|
||||
+#define NSLU2_PO_GPIO 8 /* power off */
|
||||
+#define NSLU2_RB_GPIO 12
|
||||
|
||||
#define NSLU2_PB_IRQ IRQ_IXP4XX_GPIO5
|
||||
#define NSLU2_RB_IRQ IRQ_IXP4XX_GPIO12
|
||||
@@ -79,16 +57,16 @@
|
||||
|
||||
/* LEDs */
|
||||
|
||||
-#define NSLU2_LED_RED NSLU2_GPIO0
|
||||
-#define NSLU2_LED_GRN NSLU2_GPIO1
|
||||
+#define NSLU2_LED_RED_GPIO 0
|
||||
+#define NSLU2_LED_GRN_GPIO 1
|
||||
|
||||
-#define NSLU2_LED_RED_BM (1L << NSLU2_LED_RED)
|
||||
-#define NSLU2_LED_GRN_BM (1L << NSLU2_LED_GRN)
|
||||
+#define NSLU2_LED_RED_BM (1L << NSLU2_LED_RED_GPIO)
|
||||
+#define NSLU2_LED_GRN_BM (1L << NSLU2_LED_GRN_GPIO)
|
||||
|
||||
-#define NSLU2_LED_DISK1 NSLU2_GPIO3
|
||||
-#define NSLU2_LED_DISK2 NSLU2_GPIO2
|
||||
+#define NSLU2_LED_DISK1_GPIO 3
|
||||
+#define NSLU2_LED_DISK2_GPIO 2
|
||||
|
||||
-#define NSLU2_LED_DISK1_BM (1L << NSLU2_GPIO2)
|
||||
-#define NSLU2_LED_DISK2_BM (1L << NSLU2_GPIO3)
|
||||
+#define NSLU2_LED_DISK1_BM (1L << NSLU2_LED_DISK1_GPIO)
|
||||
+#define NSLU2_LED_DISK2_BM (1L << NSLU2_LED_DISK2_GPIO)
|
||||
|
||||
|
||||
Index: linux-2.6.21-armeb/include/asm-arm/arch-ixp4xx/nas100d.h
|
||||
===================================================================
|
||||
--- linux-2.6.21-armeb.orig/include/asm-arm/arch-ixp4xx/nas100d.h 2007-04-25 20:08:32.000000000 -0700
|
||||
+++ linux-2.6.21-armeb/include/asm-arm/arch-ixp4xx/nas100d.h 2007-05-09 07:34:14.000000000 -0700
|
||||
@@ -10,7 +10,7 @@
|
||||
* based on ixdp425.h:
|
||||
* Copyright 2004 (c) MontaVista, Software, Inc.
|
||||
*
|
||||
- * This file is licensed under the terms of the GNU General Public
|
||||
+ * This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
@@ -36,31 +36,11 @@
|
||||
#define NAS100D_PCI_INTD_PIN 8
|
||||
#define NAS100D_PCI_INTE_PIN 7
|
||||
|
||||
-/* GPIO */
|
||||
-
|
||||
-#define NAS100D_GPIO0 0
|
||||
-#define NAS100D_GPIO1 1
|
||||
-#define NAS100D_GPIO2 2
|
||||
-#define NAS100D_GPIO3 3
|
||||
-#define NAS100D_GPIO4 4
|
||||
-#define NAS100D_GPIO5 5
|
||||
-#define NAS100D_GPIO6 6
|
||||
-#define NAS100D_GPIO7 7
|
||||
-#define NAS100D_GPIO8 8
|
||||
-#define NAS100D_GPIO9 9
|
||||
-#define NAS100D_GPIO10 10
|
||||
-#define NAS100D_GPIO11 11
|
||||
-#define NAS100D_GPIO12 12
|
||||
-#define NAS100D_GPIO13 13
|
||||
-#define NAS100D_GPIO14 14
|
||||
-#define NAS100D_GPIO15 15
|
||||
-
|
||||
-
|
||||
/* Buttons */
|
||||
|
||||
-#define NAS100D_PB_GPIO NAS100D_GPIO14
|
||||
-#define NAS100D_RB_GPIO NAS100D_GPIO4
|
||||
-#define NAS100D_PO_GPIO NAS100D_GPIO12 /* power off */
|
||||
+#define NAS100D_PB_GPIO 14
|
||||
+#define NAS100D_RB_GPIO 4
|
||||
+#define NAS100D_PO_GPIO 12 /* power off */
|
||||
|
||||
#define NAS100D_PB_IRQ IRQ_IXP4XX_GPIO14
|
||||
#define NAS100D_RB_IRQ IRQ_IXP4XX_GPIO4
|
||||
Index: linux-2.6.21-armeb/arch/arm/mach-ixp4xx/nas100d-setup.c
|
||||
===================================================================
|
||||
--- linux-2.6.21-armeb.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2007-05-09 07:32:43.000000000 -0700
|
||||
+++ linux-2.6.21-armeb/arch/arm/mach-ixp4xx/nas100d-setup.c 2007-05-09 07:34:55.000000000 -0700
|
||||
@@ -155,7 +155,8 @@
|
||||
|
||||
pm_power_off = nas100d_power_off;
|
||||
|
||||
- /* This is only useful on a modified machine, but it is valuable
|
||||
+ /*
|
||||
+ * This is only useful on a modified machine, but it is valuable
|
||||
* to have it first in order to see debug messages, and so that
|
||||
* it does *not* get removed if platform_add_devices fails!
|
||||
*/
|
File diff suppressed because it is too large
Load diff
|
@ -1,36 +0,0 @@
|
|||
Submitted as http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3984/1
|
||||
|
||||
This patch fixes an error in the numbering of the disk LEDs on the
|
||||
Linksys NSLU2. The error crept in because the physical location
|
||||
of the LEDs has the Disk 2 LED *above* the Disk 1 LED.
|
||||
|
||||
Thanks to Gordon Farquharson for reporting this.
|
||||
|
||||
Signed-off-by: Rod Whitby <rod@whitby.id.au>
|
||||
|
||||
PATCH FOLLOWS
|
||||
KernelVersion: 2.6.19
|
||||
|
||||
Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/nslu2.h
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/include/asm-arm/arch-ixp4xx/nslu2.h
|
||||
+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/nslu2.h
|
||||
@@ -76,6 +76,7 @@
|
||||
|
||||
#define NSLU2_GPIO_BUZZ 4
|
||||
#define NSLU2_BZ_BM (1L << NSLU2_GPIO_BUZZ)
|
||||
+
|
||||
/* LEDs */
|
||||
|
||||
#define NSLU2_LED_RED NSLU2_GPIO0
|
||||
@@ -84,8 +85,8 @@
|
||||
#define NSLU2_LED_RED_BM (1L << NSLU2_LED_RED)
|
||||
#define NSLU2_LED_GRN_BM (1L << NSLU2_LED_GRN)
|
||||
|
||||
-#define NSLU2_LED_DISK1 NSLU2_GPIO2
|
||||
-#define NSLU2_LED_DISK2 NSLU2_GPIO3
|
||||
+#define NSLU2_LED_DISK1 NSLU2_GPIO3
|
||||
+#define NSLU2_LED_DISK2 NSLU2_GPIO2
|
||||
|
||||
#define NSLU2_LED_DISK1_BM (1L << NSLU2_GPIO2)
|
||||
#define NSLU2_LED_DISK2_BM (1L << NSLU2_GPIO3)
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
drivers/net/ixp4xx/mac_driver.c | 24 ++++++++++--------------
|
||||
1 file changed, 10 insertions(+), 14 deletions(-)
|
||||
|
||||
Index: linux-2.6.21-rc4-git6-arm/drivers/net/ixp4xx/mac_driver.c
|
||||
===================================================================
|
||||
--- linux-2.6.21-rc4-git6-arm.orig/drivers/net/ixp4xx/mac_driver.c 2007-03-22 10:32:20.735684085 +0000
|
||||
+++ linux-2.6.21-rc4-git6-arm/drivers/net/ixp4xx/mac_driver.c 2007-03-22 10:33:29.355972584 +0000
|
||||
@@ -842,7 +842,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-module_init(init_mac);
|
||||
+late_initcall(init_mac);
|
||||
module_exit(finish_mac);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
|
@ -1,41 +0,0 @@
|
|||
diff -Naupr a/drivers/net/ixp4xx/mac_driver.c b/drivers/net/ixp4xx/mac_driver.c
|
||||
--- a/drivers/net/ixp4xx/mac_driver.c 2007-01-12 21:54:40.000000000 -0700
|
||||
+++ b/drivers/net/ixp4xx/mac_driver.c 2007-01-12 22:27:18.000000000 -0700
|
||||
@@ -350,6 +350,16 @@ static int ixmac_open (struct net_device
|
||||
mac->npe_stat_num = i<NPE_STAT_NUM ? NPE_STAT_NUM_BASE : NPE_STAT_NUM;
|
||||
mac->npe_stat_num += NPE_Q_STAT_NUM;
|
||||
|
||||
+ /* Only use platform or random if there's currently no device hw addr */
|
||||
+ if (is_zero_ether_addr(dev->dev_addr)) {
|
||||
+ if (is_zero_ether_addr(mac->plat->hwaddr)) {
|
||||
+ random_ether_addr(dev->dev_addr);
|
||||
+ dev->dev_addr[5] = mac->plat->phy_id;
|
||||
+ }
|
||||
+ else
|
||||
+ memcpy(dev->dev_addr, mac->plat->hwaddr, 6);
|
||||
+ }
|
||||
+
|
||||
mac_set_uniaddr(dev);
|
||||
media_check(dev, 1);
|
||||
ixmac_set_rx_mode(dev);
|
||||
@@ -691,20 +701,6 @@ static int mac_probe(struct platform_dev
|
||||
|
||||
INIT_WORK(&mac->mdio_thread, mac_mdio_thread, dev);
|
||||
|
||||
- /* The place of the MAC address is very system dependent.
|
||||
- * Here we use a random one to be replaced by one of the
|
||||
- * following commands:
|
||||
- * "ip link set address 02:03:04:04:04:01 dev eth0"
|
||||
- * "ifconfig eth0 hw ether 02:03:04:04:04:07"
|
||||
- */
|
||||
-
|
||||
- if (is_zero_ether_addr(plat->hwaddr)) {
|
||||
- random_ether_addr(dev->dev_addr);
|
||||
- dev->dev_addr[5] = plat->phy_id;
|
||||
- }
|
||||
- else
|
||||
- memcpy(dev->dev_addr, plat->hwaddr, 6);
|
||||
-
|
||||
printk(KERN_INFO IXMAC_NAME " driver " IXMAC_VERSION
|
||||
": %s on %s with PHY[%d] initialized\n",
|
||||
dev->name, npe->plat->name, plat->phy_id);
|
|
@ -1,7 +1,17 @@
|
|||
diff -Naupr a/drivers/net/ixp4xx/Kconfig b/drivers/net/ixp4xx/Kconfig
|
||||
--- a/drivers/net/ixp4xx/Kconfig 2007-01-12 21:54:40.000000000 -0700
|
||||
+++ b/drivers/net/ixp4xx/Kconfig 2007-01-12 23:28:50.000000000 -0700
|
||||
@@ -11,6 +11,7 @@ config IXP4XX_NPE
|
||||
---
|
||||
drivers/net/ixp4xx/Kconfig | 10 +
|
||||
drivers/net/ixp4xx/Makefile | 1
|
||||
drivers/net/ixp4xx/npe_ucode.c | 185 +++++++++++++++++++++++++++++++++
|
||||
drivers/net/ixp4xx/ucode_dl.c | 43 ++++---
|
||||
include/asm-arm/arch-ixp4xx/platform.h | 19 +++
|
||||
include/linux/ixp_npe.h | 1
|
||||
6 files changed, 239 insertions(+), 20 deletions(-)
|
||||
|
||||
Index: linux-2.6.20-rc3/drivers/net/ixp4xx/Kconfig
|
||||
===================================================================
|
||||
--- linux-2.6.20-rc3.orig/drivers/net/ixp4xx/Kconfig
|
||||
+++ linux-2.6.20-rc3/drivers/net/ixp4xx/Kconfig
|
||||
@@ -11,6 +11,7 @@
|
||||
tristate "IXP4xx NPE support"
|
||||
depends on ARCH_IXP4XX
|
||||
depends on NET_ETHERNET
|
||||
|
@ -9,7 +19,7 @@ diff -Naupr a/drivers/net/ixp4xx/Kconfig b/drivers/net/ixp4xx/Kconfig
|
|||
help
|
||||
The IXP4XX NPE driver supports the 3 CPU co-processors called
|
||||
"Network Processing Engines" (NPE). It adds support fo downloading
|
||||
@@ -18,7 +19,7 @@ config IXP4XX_NPE
|
||||
@@ -18,7 +19,7 @@
|
||||
More about this at: Documentation/networking/ixp4xx/README.
|
||||
You can either use this OR the Intel Access Library (IAL)
|
||||
|
||||
|
@ -18,7 +28,7 @@ diff -Naupr a/drivers/net/ixp4xx/Kconfig b/drivers/net/ixp4xx/Kconfig
|
|||
bool "Use Firmware hotplug for Microcode download"
|
||||
depends on IXP4XX_NPE
|
||||
select HOTPLUG
|
||||
@@ -28,6 +29,13 @@ config IXP4XX_FW_LOAD
|
||||
@@ -28,6 +29,13 @@
|
||||
/usr/lib/hotplug/firmware/NPE-[ABC]
|
||||
see Documentation/firmware_class/hotplug-script
|
||||
|
||||
|
@ -32,9 +42,10 @@ diff -Naupr a/drivers/net/ixp4xx/Kconfig b/drivers/net/ixp4xx/Kconfig
|
|||
config IXP4XX_MAC
|
||||
tristate "IXP4xx MAC support"
|
||||
depends on IXP4XX_NPE
|
||||
diff -Naupr a/drivers/net/ixp4xx/Makefile b/drivers/net/ixp4xx/Makefile
|
||||
--- a/drivers/net/ixp4xx/Makefile 2007-01-12 21:54:40.000000000 -0700
|
||||
+++ b/drivers/net/ixp4xx/Makefile 2007-01-12 23:28:50.000000000 -0700
|
||||
Index: linux-2.6.20-rc3/drivers/net/ixp4xx/Makefile
|
||||
===================================================================
|
||||
--- linux-2.6.20-rc3.orig/drivers/net/ixp4xx/Makefile
|
||||
+++ linux-2.6.20-rc3/drivers/net/ixp4xx/Makefile
|
||||
@@ -1,5 +1,6 @@
|
||||
obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx_qmgr.o
|
||||
obj-$(CONFIG_IXP4XX_NPE) += ixp4xx_npe.o
|
||||
|
@ -42,9 +53,10 @@ diff -Naupr a/drivers/net/ixp4xx/Makefile b/drivers/net/ixp4xx/Makefile
|
|||
obj-$(CONFIG_IXP4XX_MAC) += ixp4xx_mac.o
|
||||
obj-$(CONFIG_IXP4XX_CRYPTO) += ixp4xx_crypto.o
|
||||
|
||||
diff -Naupr a/drivers/net/ixp4xx/npe_ucode.c b/drivers/net/ixp4xx/npe_ucode.c
|
||||
--- a/drivers/net/ixp4xx/npe_ucode.c 1969-12-31 17:00:00.000000000 -0700
|
||||
+++ b/drivers/net/ixp4xx/npe_ucode.c 2007-01-12 23:28:50.000000000 -0700
|
||||
Index: linux-2.6.20-rc3/drivers/net/ixp4xx/npe_ucode.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ linux-2.6.20-rc3/drivers/net/ixp4xx/npe_ucode.c
|
||||
@@ -0,0 +1,185 @@
|
||||
+/*
|
||||
+ * Provide an NPE platform device for microcode handling
|
||||
|
@ -231,9 +243,10 @@ diff -Naupr a/drivers/net/ixp4xx/npe_ucode.c b/drivers/net/ixp4xx/npe_ucode.c
|
|||
+
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
|
||||
diff -Naupr a/drivers/net/ixp4xx/ucode_dl.c b/drivers/net/ixp4xx/ucode_dl.c
|
||||
--- a/drivers/net/ixp4xx/ucode_dl.c 2007-01-12 21:54:40.000000000 -0700
|
||||
+++ b/drivers/net/ixp4xx/ucode_dl.c 2007-01-12 23:28:50.000000000 -0700
|
||||
Index: linux-2.6.20-rc3/drivers/net/ixp4xx/ucode_dl.c
|
||||
===================================================================
|
||||
--- linux-2.6.20-rc3.orig/drivers/net/ixp4xx/ucode_dl.c
|
||||
+++ linux-2.6.20-rc3/drivers/net/ixp4xx/ucode_dl.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
|
@ -255,7 +268,7 @@ diff -Naupr a/drivers/net/ixp4xx/ucode_dl.c b/drivers/net/ixp4xx/ucode_dl.c
|
|||
#define EOF_BLOCK 0xf
|
||||
#define IMG_SIZE(image) (((image)->size * sizeof(u32)) + \
|
||||
sizeof(struct dl_image))
|
||||
@@ -38,21 +45,6 @@ enum blk_type {
|
||||
@@ -38,21 +45,6 @@
|
||||
data,
|
||||
};
|
||||
|
||||
|
@ -277,7 +290,7 @@ diff -Naupr a/drivers/net/ixp4xx/ucode_dl.c b/drivers/net/ixp4xx/ucode_dl.c
|
|||
struct dl_codeblock {
|
||||
u32 npe_addr;
|
||||
u32 size;
|
||||
@@ -127,20 +119,33 @@ download_block(struct npe_info *npe, str
|
||||
@@ -127,20 +119,33 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -313,7 +326,7 @@ diff -Naupr a/drivers/net/ixp4xx/ucode_dl.c b/drivers/net/ixp4xx/ucode_dl.c
|
|||
npe = dev_get_drvdata(dev);
|
||||
if (npe->loaded && (npe->usage > 0)) {
|
||||
printk(KERN_INFO "Cowardly refusing to reload an Image "
|
||||
@@ -267,8 +272,7 @@ static ssize_t ucode_write(struct file *
|
||||
@@ -267,8 +272,7 @@
|
||||
|
||||
static void npe_firmware_probe(struct device *dev)
|
||||
{
|
||||
|
@ -323,17 +336,18 @@ diff -Naupr a/drivers/net/ixp4xx/ucode_dl.c b/drivers/net/ixp4xx/ucode_dl.c
|
|||
const struct firmware *fw_entry;
|
||||
struct npe_info *npe = dev_get_drvdata(dev);
|
||||
struct dl_image *image;
|
||||
@@ -477,3 +481,4 @@ MODULE_AUTHOR("Christian Hohnstaedt <cho
|
||||
@@ -477,3 +481,4 @@
|
||||
|
||||
EXPORT_SYMBOL(get_npe_by_id);
|
||||
EXPORT_SYMBOL(return_npe_dev);
|
||||
+EXPORT_SYMBOL(store_npe_image);
|
||||
diff -Naupr a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4xx/platform.h
|
||||
--- a/include/asm-arm/arch-ixp4xx/platform.h 2007-01-12 21:54:40.000000000 -0700
|
||||
+++ b/include/asm-arm/arch-ixp4xx/platform.h 2007-01-12 23:28:50.000000000 -0700
|
||||
@@ -89,6 +89,21 @@ struct ixp4xx_i2c_pins {
|
||||
|
||||
struct sys_timer;
|
||||
Index: linux-2.6.20-rc3/include/asm-arm/arch-ixp4xx/platform.h
|
||||
===================================================================
|
||||
--- linux-2.6.20-rc3.orig/include/asm-arm/arch-ixp4xx/platform.h
|
||||
+++ linux-2.6.20-rc3/include/asm-arm/arch-ixp4xx/platform.h
|
||||
@@ -86,6 +86,21 @@
|
||||
unsigned long scl_pin;
|
||||
};
|
||||
|
||||
+struct dl_block {
|
||||
+ u32 type;
|
||||
|
@ -353,7 +367,7 @@ diff -Naupr a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4
|
|||
struct npe_plat_data {
|
||||
const char *name;
|
||||
int data_size;
|
||||
@@ -108,6 +123,10 @@ struct mac_plat_info {
|
||||
@@ -105,6 +120,10 @@
|
||||
|
||||
};
|
||||
|
||||
|
@ -362,12 +376,13 @@ diff -Naupr a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4
|
|||
+};
|
||||
+
|
||||
/*
|
||||
* Frequency of clock used for primary clocksource
|
||||
*/
|
||||
diff -Naupr a/include/linux/ixp_npe.h b/include/linux/ixp_npe.h
|
||||
--- a/include/linux/ixp_npe.h 2007-01-12 21:54:40.000000000 -0700
|
||||
+++ b/include/linux/ixp_npe.h 2007-01-12 23:28:50.000000000 -0700
|
||||
@@ -99,6 +99,7 @@ extern void npe_reset(struct npe_info *n
|
||||
* This structure provide a means for the board setup code
|
||||
* to give information to th pata_ixp4xx driver. It is
|
||||
Index: linux-2.6.20-rc3/include/linux/ixp_npe.h
|
||||
===================================================================
|
||||
--- linux-2.6.20-rc3.orig/include/linux/ixp_npe.h
|
||||
+++ linux-2.6.20-rc3/include/linux/ixp_npe.h
|
||||
@@ -99,6 +99,7 @@
|
||||
|
||||
extern struct device *get_npe_by_id(int id);
|
||||
extern void return_npe_dev(struct device *dev);
|
||||
|
|
|
@ -129,8 +129,8 @@ diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/ixdp425-pci.c linux-2.6.19.2-owrt/
|
|||
int __init ixdp425_pci_init(void)
|
||||
{
|
||||
if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
|
||||
- machine_is_avila() || machine_is_ixdp465())
|
||||
+ machine_is_avila() || machine_is_ixdp465() || machine_is_compex())
|
||||
- machine_is_ixdp465())
|
||||
+ machine_is_ixdp465() || machine_is_compex())
|
||||
pci_common_init(&ixdp425_pci);
|
||||
return 0;
|
||||
}
|
||||
|
@ -173,8 +173,12 @@ diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/Makefile linux-2.6.19.2-owrt/arch/
|
|||
diff -Nur linux-2.6.19.2/arch/arm/tools/mach-types linux-2.6.19.2-owrt/arch/arm/tools/mach-types
|
||||
--- linux-2.6.19.2/arch/arm/tools/mach-types 2007-04-10 01:27:55.000000000 +0200
|
||||
+++ linux-2.6.19.2-owrt/arch/arm/tools/mach-types 2007-04-09 20:22:33.000000000 +0200
|
||||
@@ -1171,3 +1171,4 @@
|
||||
cdcs_quoll MACH_CDCS_QUOLL CDCS_QUOLL 1158
|
||||
quicksilver MACH_QUICKSILVER QUICKSILVER 1159
|
||||
uplat926 MACH_UPLAT926 UPLAT926 1160
|
||||
@@ -1278,7 +1278,7 @@
|
||||
smdk6400 MACH_SMDK6400 SMDK6400 1270
|
||||
nokia_n800 MACH_NOKIA_N800 NOKIA_N800 1271
|
||||
greenphone MACH_GREENPHONE GREENPHONE 1272
|
||||
-compex42x MACH_COMPEXWP18 COMPEXWP18 1273
|
||||
+compex MACH_COMPEX COMPEX 1273
|
||||
xmate MACH_XMATE XMATE 1274
|
||||
energizer MACH_ENERGIZER ENERGIZER 1275
|
||||
ime1 MACH_IME1 IME1 1276
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/ixdp425-pci.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/ixdp425-pci.c
|
||||
--- linux-2.6.19.2/arch/arm/mach-ixp4xx/ixdp425-pci.c 2007-04-15 14:26:04.000000000 +0200
|
||||
+++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/ixdp425-pci.c 2007-05-10 11:10:40.000000000 +0200
|
||||
@@ -66,7 +66,7 @@
|
||||
int __init ixdp425_pci_init(void)
|
||||
{
|
||||
if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
|
||||
- machine_is_avila() || machine_is_ixdp465() || machine_is_compex())
|
||||
+ machine_is_ixdp465() || machine_is_compex())
|
||||
pci_common_init(&ixdp425_pci);
|
||||
return 0;
|
||||
}
|
||||
diff -Nur linux-2.6.19.2/arch/arm/mach-ixp4xx/ixdp425-setup.c linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/ixdp425-setup.c
|
||||
--- linux-2.6.19.2/arch/arm/mach-ixp4xx/ixdp425-setup.c 2007-04-15 14:26:49.000000000 +0200
|
||||
+++ linux-2.6.19.2-owrt/arch/arm/mach-ixp4xx/ixdp425-setup.c 2007-05-10 11:10:01.000000000 +0200
|
||||
@@ -205,23 +205,3 @@
|
||||
.init_machine = ixdp425_init,
|
||||
MACHINE_END
|
||||
#endif
|
||||
-
|
||||
-/*
|
||||
- * Avila is functionally equivalent to IXDP425 except that it adds
|
||||
- * a CF IDE slot hanging off the expansion bus. When we have a
|
||||
- * driver for IXP4xx CF IDE with driver model support we'll move
|
||||
- * Avila to it's own setup file.
|
||||
- */
|
||||
-#ifdef CONFIG_ARCH_AVILA
|
||||
-MACHINE_START(AVILA, "Gateworks Avila Network Platform")
|
||||
- /* Maintainer: Deepak Saxena <dsaxena@plexity.net> */
|
||||
- .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS,
|
||||
- .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc,
|
||||
- .map_io = ixp4xx_map_io,
|
||||
- .init_irq = ixp4xx_init_irq,
|
||||
- .timer = &ixp4xx_timer,
|
||||
- .boot_params = 0x0100,
|
||||
- .init_machine = ixdp425_init,
|
||||
-MACHINE_END
|
||||
-#endif
|
||||
-
|
|
@ -1,381 +0,0 @@
|
|||
This patch adds support for the Gateworks Avila Network Platform in
|
||||
a separate set of setup files to the IXDP425. This is necessary now
|
||||
that a driver for the Avila CF card slot is available. It also adds
|
||||
support for a minor variant on the Avila board known as the Loft,
|
||||
which has a different number of maximum PCI devices.
|
||||
|
||||
Signed-off-by: Michael-Luke Jones <mlj28 <at> cam.ac.uk>
|
||||
|
||||
Index: linux-2.6.19/arch/arm/mach-ixp4xx/Kconfig
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/arch/arm/mach-ixp4xx/Kconfig
|
||||
+++ linux-2.6.19/arch/arm/mach-ixp4xx/Kconfig
|
||||
@@ -17,7 +17,7 @@ config MACH_NSLU2
|
||||
NSLU2 NAS device. For more information on this platform,
|
||||
see http://www.nslu2-linux.org
|
||||
|
||||
-config ARCH_AVILA
|
||||
+config MACH_AVILA
|
||||
bool "Avila"
|
||||
select PCI
|
||||
help
|
||||
@@ -25,6 +25,14 @@ config ARCH_AVILA
|
||||
Avila Network Platform. For more information on this platform,
|
||||
see <file:Documentation/arm/IXP4xx>.
|
||||
|
||||
+config MACH_LOFT
|
||||
+ bool "Loft"
|
||||
+ depends on MACH_AVILA
|
||||
+ help
|
||||
+ Say 'Y' here if you want your kernel to support the Giant
|
||||
+ Shoulder Inc Loft board (a minor variation on the standard
|
||||
+ Gateworks Avila Network Platform).
|
||||
+
|
||||
config ARCH_ADI_COYOTE
|
||||
bool "Coyote"
|
||||
select PCI
|
||||
@@ -86,7 +94,7 @@ config MACH_NAS100D
|
||||
#
|
||||
config ARCH_IXDP4XX
|
||||
bool
|
||||
- depends on ARCH_IXDP425 || ARCH_AVILA || MACH_IXDP465
|
||||
+ depends on ARCH_IXDP425 || MACH_IXDP465
|
||||
default y
|
||||
|
||||
#
|
||||
Index: linux-2.6.19/arch/arm/mach-ixp4xx/Makefile
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/arch/arm/mach-ixp4xx/Makefile
|
||||
+++ linux-2.6.19/arch/arm/mach-ixp4xx/Makefile
|
||||
@@ -6,6 +6,7 @@ obj-pci-y :=
|
||||
obj-pci-n :=
|
||||
|
||||
obj-pci-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o
|
||||
+obj-pci-$(CONFIG_MACH_AVILA) += avila-pci.o
|
||||
obj-pci-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o
|
||||
obj-pci-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o
|
||||
obj-pci-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o
|
||||
@@ -15,6 +16,7 @@ obj-pci-$(CONFIG_MACH_NAS100D) += nas10
|
||||
obj-y += common.o
|
||||
|
||||
obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-setup.o
|
||||
+obj-$(CONFIG_MACH_AVILA) += avila-setup.o
|
||||
obj-$(CONFIG_MACH_IXDPG425) += coyote-setup.o
|
||||
obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-setup.o
|
||||
obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-setup.o
|
||||
Index: linux-2.6.19/arch/arm/mach-ixp4xx/avila-pci.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ linux-2.6.19/arch/arm/mach-ixp4xx/avila-pci.c
|
||||
@@ -0,0 +1,78 @@
|
||||
+/*
|
||||
+ * arch/arm/mach-ixp4xx/avila-pci.c
|
||||
+ *
|
||||
+ * Gateworks Avila board-level PCI initialization
|
||||
+ *
|
||||
+ * Author: Michael-Luke Jones <mlj28@cam.ac.uk>
|
||||
+ *
|
||||
+ * Based on ixdp-pci.c
|
||||
+ * Copyright (C) 2002 Intel Corporation.
|
||||
+ * Copyright (C) 2003-2004 MontaVista Software, Inc.
|
||||
+ *
|
||||
+ * Maintainer: Deepak Saxena <dsaxena@plexity.net>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/pci.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/irq.h>
|
||||
+#include <linux/delay.h>
|
||||
+
|
||||
+#include <asm/mach/pci.h>
|
||||
+#include <asm/irq.h>
|
||||
+#include <asm/hardware.h>
|
||||
+#include <asm/mach-types.h>
|
||||
+
|
||||
+void __init avila_pci_preinit(void)
|
||||
+{
|
||||
+ set_irq_type(IRQ_AVILA_PCI_INTA, IRQT_LOW);
|
||||
+ set_irq_type(IRQ_AVILA_PCI_INTB, IRQT_LOW);
|
||||
+ set_irq_type(IRQ_AVILA_PCI_INTC, IRQT_LOW);
|
||||
+ set_irq_type(IRQ_AVILA_PCI_INTD, IRQT_LOW);
|
||||
+
|
||||
+ ixp4xx_pci_preinit();
|
||||
+}
|
||||
+
|
||||
+static int __init avila_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
+{
|
||||
+ static int pci_irq_table[AVILA_PCI_IRQ_LINES] = {
|
||||
+ IRQ_AVILA_PCI_INTA,
|
||||
+ IRQ_AVILA_PCI_INTB,
|
||||
+ IRQ_AVILA_PCI_INTC,
|
||||
+ IRQ_AVILA_PCI_INTD
|
||||
+ };
|
||||
+
|
||||
+ int irq = -1;
|
||||
+
|
||||
+ if (slot >= 1 &&
|
||||
+ slot <= (machine_is_loft() ? LOFT_PCI_MAX_DEV : AVILA_PCI_MAX_DEV) &&
|
||||
+ pin >= 1 && pin <= AVILA_PCI_IRQ_LINES) {
|
||||
+ irq = pci_irq_table[(slot + pin - 2) % 4];
|
||||
+ }
|
||||
+
|
||||
+ return irq;
|
||||
+}
|
||||
+
|
||||
+struct hw_pci avila_pci __initdata = {
|
||||
+ .nr_controllers = 1,
|
||||
+ .preinit = avila_pci_preinit,
|
||||
+ .swizzle = pci_std_swizzle,
|
||||
+ .setup = ixp4xx_setup,
|
||||
+ .scan = ixp4xx_scan_bus,
|
||||
+ .map_irq = avila_map_irq,
|
||||
+};
|
||||
+
|
||||
+int __init avila_pci_init(void)
|
||||
+{
|
||||
+ if (machine_is_avila() || machine_is_loft())
|
||||
+ pci_common_init(&avila_pci);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+subsys_initcall(avila_pci_init);
|
||||
+
|
||||
Index: linux-2.6.19/arch/arm/mach-ixp4xx/avila-setup.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ linux-2.6.19/arch/arm/mach-ixp4xx/avila-setup.c
|
||||
@@ -0,0 +1,152 @@
|
||||
+/*
|
||||
+ * arch/arm/mach-ixp4xx/avila-setup.c
|
||||
+ *
|
||||
+ * Gateworks Avila board-setup
|
||||
+ *
|
||||
+ * Author: Michael-Luke Jones <mlj28@cam.ac.uk>
|
||||
+ *
|
||||
+ * Based on ixdp-setup.c
|
||||
+ * Copyright (C) 2003-2005 MontaVista Software, Inc.
|
||||
+ *
|
||||
+ * Author: Deepak Saxena <dsaxena@plexity.net>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <linux/serial.h>
|
||||
+#include <linux/tty.h>
|
||||
+#include <linux/serial_8250.h>
|
||||
+#include <linux/slab.h>
|
||||
+
|
||||
+#include <asm/types.h>
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <asm/hardware.h>
|
||||
+#include <asm/mach-types.h>
|
||||
+#include <asm/irq.h>
|
||||
+#include <asm/mach/arch.h>
|
||||
+#include <asm/mach/flash.h>
|
||||
+
|
||||
+static struct flash_platform_data avila_flash_data = {
|
||||
+ .map_name = "cfi_probe",
|
||||
+ .width = 2,
|
||||
+};
|
||||
+
|
||||
+static struct resource avila_flash_resource = {
|
||||
+ .flags = IORESOURCE_MEM,
|
||||
+};
|
||||
+
|
||||
+static struct platform_device avila_flash = {
|
||||
+ .name = "IXP4XX-Flash",
|
||||
+ .id = 0,
|
||||
+ .dev = {
|
||||
+ .platform_data = &avila_flash_data,
|
||||
+ },
|
||||
+ .num_resources = 1,
|
||||
+ .resource = &avila_flash_resource,
|
||||
+};
|
||||
+
|
||||
+static struct ixp4xx_i2c_pins avila_i2c_gpio_pins = {
|
||||
+ .sda_pin = AVILA_SDA_PIN,
|
||||
+ .scl_pin = AVILA_SCL_PIN,
|
||||
+};
|
||||
+
|
||||
+static struct platform_device avila_i2c_controller = {
|
||||
+ .name = "IXP4XX-I2C",
|
||||
+ .id = 0,
|
||||
+ .dev = {
|
||||
+ .platform_data = &avila_i2c_gpio_pins,
|
||||
+ },
|
||||
+ .num_resources = 0
|
||||
+};
|
||||
+
|
||||
+static struct resource avila_uart_resources[] = {
|
||||
+ {
|
||||
+ .start = IXP4XX_UART1_BASE_PHYS,
|
||||
+ .end = IXP4XX_UART1_BASE_PHYS + 0x0fff,
|
||||
+ .flags = IORESOURCE_MEM
|
||||
+ },
|
||||
+ {
|
||||
+ .start = IXP4XX_UART2_BASE_PHYS,
|
||||
+ .end = IXP4XX_UART2_BASE_PHYS + 0x0fff,
|
||||
+ .flags = IORESOURCE_MEM
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+static struct plat_serial8250_port avila_uart_data[] = {
|
||||
+ {
|
||||
+ .mapbase = IXP4XX_UART1_BASE_PHYS,
|
||||
+ .membase = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET,
|
||||
+ .irq = IRQ_IXP4XX_UART1,
|
||||
+ .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
|
||||
+ .iotype = UPIO_MEM,
|
||||
+ .regshift = 2,
|
||||
+ .uartclk = IXP4XX_UART_XTAL,
|
||||
+ },
|
||||
+ {
|
||||
+ .mapbase = IXP4XX_UART2_BASE_PHYS,
|
||||
+ .membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
|
||||
+ .irq = IRQ_IXP4XX_UART2,
|
||||
+ .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
|
||||
+ .iotype = UPIO_MEM,
|
||||
+ .regshift = 2,
|
||||
+ .uartclk = IXP4XX_UART_XTAL,
|
||||
+ },
|
||||
+ { },
|
||||
+};
|
||||
+
|
||||
+static struct platform_device avila_uart = {
|
||||
+ .name = "serial8250",
|
||||
+ .id = PLAT8250_DEV_PLATFORM,
|
||||
+ .dev.platform_data = avila_uart_data,
|
||||
+ .num_resources = 2,
|
||||
+ .resource = avila_uart_resources
|
||||
+};
|
||||
+
|
||||
+static struct platform_device *avila_devices[] __initdata = {
|
||||
+ &avila_i2c_controller,
|
||||
+ &avila_flash,
|
||||
+ &avila_uart
|
||||
+};
|
||||
+
|
||||
+static void __init avila_init(void)
|
||||
+{
|
||||
+ ixp4xx_sys_init();
|
||||
+
|
||||
+ avila_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
|
||||
+ avila_flash_resource.end =
|
||||
+ IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
|
||||
+
|
||||
+ platform_add_devices(avila_devices, ARRAY_SIZE(avila_devices));
|
||||
+}
|
||||
+
|
||||
+MACHINE_START(AVILA, "Gateworks Avila Network Platform")
|
||||
+ /* Maintainer: Deepak Saxena <dsaxena@plexity.net> */
|
||||
+ .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS,
|
||||
+ .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc,
|
||||
+ .map_io = ixp4xx_map_io,
|
||||
+ .init_irq = ixp4xx_init_irq,
|
||||
+ .timer = &ixp4xx_timer,
|
||||
+ .boot_params = 0x0100,
|
||||
+ .init_machine = avila_init,
|
||||
+MACHINE_END
|
||||
+
|
||||
+ /*
|
||||
+ * Loft is functionally equivalent to Avila except that it has a
|
||||
+ * different number for the maximum PCI devices. The MACHINE
|
||||
+ * structure below is identical to Avila except for the comment.
|
||||
+ */
|
||||
+#ifdef CONFIG_MACH_LOFT
|
||||
+MACHINE_START(LOFT, "Giant Shoulder Inc Loft board")
|
||||
+ /* Maintainer: Tom Billman <kernel@giantshoulderinc.com> */
|
||||
+ .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS,
|
||||
+ .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc,
|
||||
+ .map_io = ixp4xx_map_io,
|
||||
+ .init_irq = ixp4xx_init_irq,
|
||||
+ .timer = &ixp4xx_timer,
|
||||
+ .boot_params = 0x0100,
|
||||
+ .init_machine = avila_init,
|
||||
+MACHINE_END
|
||||
+#endif
|
||||
+
|
||||
Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/avila.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/avila.h
|
||||
@@ -0,0 +1,39 @@
|
||||
+/*
|
||||
+ * include/asm-arm/arch-ixp4xx/avila.h
|
||||
+ *
|
||||
+ * Gateworks Avila platform specific definitions
|
||||
+ *
|
||||
+ * Author: Michael-Luke Jones <mlj28@cam.ac.uk>
|
||||
+ *
|
||||
+ * Based on ixdp425.h
|
||||
+ * Author: Deepak Saxena <dsaxena@plexity.net>
|
||||
+ *
|
||||
+ * Copyright 2004 (c) MontaVista, Software, Inc.
|
||||
+ *
|
||||
+ * This file is licensed under the terms of the GNU General Public
|
||||
+ * License version 2. This program is licensed "as is" without any
|
||||
+ * warranty of any kind, whether express or implied.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __ASM_ARCH_HARDWARE_H__
|
||||
+#error "Do not include this directly, instead #include <asm/hardware.h>"
|
||||
+#endif
|
||||
+
|
||||
+#define AVILA_SDA_PIN 7
|
||||
+#define AVILA_SCL_PIN 6
|
||||
+
|
||||
+/*
|
||||
+ * AVILA PCI IRQs
|
||||
+ */
|
||||
+#define AVILA_PCI_MAX_DEV 4
|
||||
+#define LOFT_PCI_MAX_DEV 6
|
||||
+#define AVILA_PCI_IRQ_LINES 4
|
||||
+
|
||||
+
|
||||
+/* PCI controller GPIO to IRQ pin mappings */
|
||||
+#define AVILA_PCI_INTA_PIN 11
|
||||
+#define AVILA_PCI_INTB_PIN 10
|
||||
+#define AVILA_PCI_INTC_PIN 9
|
||||
+#define AVILA_PCI_INTD_PIN 8
|
||||
+
|
||||
+
|
||||
Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/hardware.h
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/include/asm-arm/arch-ixp4xx/hardware.h
|
||||
+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/hardware.h
|
||||
@@ -42,6 +42,7 @@ extern unsigned int processor_id;
|
||||
|
||||
/* Platform specific details */
|
||||
#include "ixdp425.h"
|
||||
+#include "avila.h"
|
||||
#include "coyote.h"
|
||||
#include "prpmc1100.h"
|
||||
#include "nslu2.h"
|
||||
Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/irqs.h
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/include/asm-arm/arch-ixp4xx/irqs.h
|
||||
+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/irqs.h
|
||||
@@ -79,6 +79,15 @@
|
||||
#define IRQ_IXDP425_PCI_INTD IRQ_IXP4XX_GPIO8
|
||||
|
||||
/*
|
||||
+ * Gateworks Avila board IRQs
|
||||
+ */
|
||||
+#define IRQ_AVILA_PCI_INTA IRQ_IXP4XX_GPIO11
|
||||
+#define IRQ_AVILA_PCI_INTB IRQ_IXP4XX_GPIO10
|
||||
+#define IRQ_AVILA_PCI_INTC IRQ_IXP4XX_GPIO9
|
||||
+#define IRQ_AVILA_PCI_INTD IRQ_IXP4XX_GPIO8
|
||||
+
|
||||
+
|
||||
+/*
|
||||
* PrPMC1100 Board IRQs
|
||||
*/
|
||||
#define IRQ_PRPMC1100_PCI_INTA IRQ_IXP4XX_GPIO11
|
|
@ -9,11 +9,11 @@ the 'maclist' code and read out by the ethernet config.
|
|||
|
||||
Signed-off-by: John Bowler <jbowler@acm.org>
|
||||
|
||||
Index: linux-2.6.19/drivers/i2c/chips/eeprom.c
|
||||
Index: linux-2.6.21-rc1-arm/drivers/i2c/chips/eeprom.c
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/drivers/i2c/chips/eeprom.c
|
||||
+++ linux-2.6.19/drivers/i2c/chips/eeprom.c
|
||||
@@ -34,6 +34,8 @@
|
||||
--- linux-2.6.21-rc1-arm.orig/drivers/i2c/chips/eeprom.c 2007-02-21 02:24:14.000000000 -0800
|
||||
+++ linux-2.6.21-rc1-arm/drivers/i2c/chips/eeprom.c 2007-02-21 02:25:01.000000000 -0800
|
||||
@@ -33,6 +33,8 @@
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/mutex.h>
|
||||
|
@ -22,7 +22,7 @@ Index: linux-2.6.19/drivers/i2c/chips/eeprom.c
|
|||
|
||||
/* Addresses to scan */
|
||||
static unsigned short normal_i2c[] = { 0x50, 0x51, 0x52, 0x53, 0x54,
|
||||
@@ -42,26 +44,7 @@ static unsigned short normal_i2c[] = { 0
|
||||
@@ -41,26 +43,7 @@
|
||||
/* Insmod parameters */
|
||||
I2C_CLIENT_INSMOD_1(eeprom);
|
||||
|
||||
|
@ -50,7 +50,7 @@ Index: linux-2.6.19/drivers/i2c/chips/eeprom.c
|
|||
|
||||
static int eeprom_attach_adapter(struct i2c_adapter *adapter);
|
||||
static int eeprom_detect(struct i2c_adapter *adapter, int address, int kind);
|
||||
@@ -190,6 +173,7 @@ static int eeprom_detect(struct i2c_adap
|
||||
@@ -189,6 +172,7 @@
|
||||
data->valid = 0;
|
||||
mutex_init(&data->update_lock);
|
||||
data->nature = UNKNOWN;
|
||||
|
@ -58,7 +58,7 @@ Index: linux-2.6.19/drivers/i2c/chips/eeprom.c
|
|||
|
||||
/* Tell the I2C layer a new client has arrived */
|
||||
if ((err = i2c_attach_client(new_client)))
|
||||
@@ -213,6 +197,9 @@ static int eeprom_detect(struct i2c_adap
|
||||
@@ -212,6 +196,9 @@
|
||||
if (err)
|
||||
goto exit_detach;
|
||||
|
||||
|
@ -68,7 +68,7 @@ Index: linux-2.6.19/drivers/i2c/chips/eeprom.c
|
|||
return 0;
|
||||
|
||||
exit_detach:
|
||||
@@ -238,6 +225,41 @@ static int eeprom_detach_client(struct i
|
||||
@@ -237,6 +224,41 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -110,10 +110,10 @@ Index: linux-2.6.19/drivers/i2c/chips/eeprom.c
|
|||
static int __init eeprom_init(void)
|
||||
{
|
||||
return i2c_add_driver(&eeprom_driver);
|
||||
Index: linux-2.6.19/include/linux/eeprom.h
|
||||
Index: linux-2.6.21-rc1-arm/include/linux/eeprom.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ linux-2.6.19/include/linux/eeprom.h
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ linux-2.6.21-rc1-arm/include/linux/eeprom.h 2007-02-21 02:25:01.000000000 -0800
|
||||
@@ -0,0 +1,71 @@
|
||||
+#ifndef _LINUX_EEPROM_H
|
||||
+#define _LINUX_EEPROM_H
|
||||
|
@ -186,11 +186,11 @@ Index: linux-2.6.19/include/linux/eeprom.h
|
|||
+extern int unregister_eeprom_notifier(struct notifier_block *nb);
|
||||
+
|
||||
+#endif /* _LINUX_EEPROM_H */
|
||||
Index: linux-2.6.19/include/linux/notifier.h
|
||||
Index: linux-2.6.21-rc1-arm/include/linux/notifier.h
|
||||
===================================================================
|
||||
--- linux-2.6.19.orig/include/linux/notifier.h
|
||||
+++ linux-2.6.19/include/linux/notifier.h
|
||||
@@ -187,5 +187,8 @@ extern int srcu_notifier_call_chain(stru
|
||||
--- linux-2.6.21-rc1-arm.orig/include/linux/notifier.h 2007-02-21 02:24:14.000000000 -0800
|
||||
+++ linux-2.6.21-rc1-arm/include/linux/notifier.h 2007-02-21 02:25:01.000000000 -0800
|
||||
@@ -187,5 +187,8 @@
|
||||
#define CPU_DOWN_FAILED 0x0006 /* CPU (unsigned)v NOT going down */
|
||||
#define CPU_DEAD 0x0007 /* CPU (unsigned)v dead */
|
||||
|
||||
|
|
Loading…
Reference in a new issue