mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-19 06:25:55 +02:00
add siit for stateless ip and icmp translation to ipv6
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13729 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
fd05dc41af
commit
de1ea81e28
43
package/siit/Makefile
Normal file
43
package/siit/Makefile
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2006 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
# $Id: Makefile 10203 2008-01-15 03:25:11Z matteo $
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
|
PKG_NAME:=siit
|
||||||
|
PKG_VERSION:=1.1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define KernelPackage/siit
|
||||||
|
SUBMENU:=Network Devices
|
||||||
|
TITLE:=Stateless IP ICMP Translation Algorithm
|
||||||
|
FILES:=$(PKG_BUILD_DIR)/siit.$(LINUX_KMOD_SUFFIX)
|
||||||
|
AUTOLOAD:=$(call AutoLoad,50,siit)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/siit/description
|
||||||
|
Stateless IP ICMP Translation Algorithm
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Prepare
|
||||||
|
mkdir -p $(PKG_BUILD_DIR)
|
||||||
|
cp src/Makefile src/siit.h src/siit.c $(PKG_BUILD_DIR)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(MAKE) -C $(LINUX_DIR) \
|
||||||
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
|
ARCH="$(LINUX_KARCH)" \
|
||||||
|
SUBDIRS="$(PKG_BUILD_DIR)" \
|
||||||
|
KERNELDIR=$(LINUX_DIR) \
|
||||||
|
CC="$(TARGET_CC)" \
|
||||||
|
modules
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,siit))
|
5
package/siit/src/Makefile
Normal file
5
package/siit/src/Makefile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
obj-m := siit.o
|
||||||
|
ifeq ($(MAKING_MODULES),1)
|
||||||
|
-include $(TOPDIR)/Rules.make
|
||||||
|
endif
|
||||||
|
|
1457
package/siit/src/siit.c
Normal file
1457
package/siit/src/siit.c
Normal file
File diff suppressed because it is too large
Load Diff
61
package/siit/src/siit.h
Normal file
61
package/siit/src/siit.h
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* siit.h -- definitions for the SIIT module
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Constants
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* SIIT_ETH control the name of SIIT interface:
|
||||||
|
* 0 - interface name is siit0,
|
||||||
|
* 1 - interface name is ethX.
|
||||||
|
*/
|
||||||
|
#define SIIT_ETH 0
|
||||||
|
|
||||||
|
#define BUFF_SIZE 4096
|
||||||
|
#define FRAG_BUFF_SIZE 1232 /* IPv6 max fragment size without IPv6 header
|
||||||
|
* to fragmanet IPv4 if result IPv6 packet will be > 1280
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TRANSLATED_PREFIX 0x0000ffff /* third byte in IPv4-translated addr prefix */
|
||||||
|
#define MAPPED_PREFIX 0x0000ffff /* third byte in IPv4-mapped addr prefix */
|
||||||
|
|
||||||
|
#define IP4_IP6_HDR_DIFF 20 /* diffirence between IPv4 and IPv6 headers */
|
||||||
|
#define IP6_FRAGMENT_SIZE 8 /* size of Fragment Header */
|
||||||
|
|
||||||
|
/* IPv6 header fields masks */
|
||||||
|
#define IP6F_OFF_MASK 0xfff8 /* mask out offset from frag_off */
|
||||||
|
#define IP6F_RESERVED_MASK 0x0006 /* reserved bits in frag_off */
|
||||||
|
#define IP6F_MORE_FRAG 0x0001 /* more-fragments flag */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Macros to help debugging
|
||||||
|
*/
|
||||||
|
|
||||||
|
#undef PDEBUG /* undef it, just in case */
|
||||||
|
#ifdef SIIT_DEBUG
|
||||||
|
# ifdef __KERNEL__
|
||||||
|
/* This one if debugging is on, and kernel space */
|
||||||
|
# define PDEBUG(fmt, args...) printk(KERN_DEBUG "siit: " fmt, ## args)
|
||||||
|
# else
|
||||||
|
/* This one for user space */
|
||||||
|
# define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define PDEBUG(fmt, args...) /* not debugging: nothing */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef PDEBUGG
|
||||||
|
#define PDEBUGG(fmt, args...)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user