[net/siit] Moved from oldpackages and updated for kernels 3.17+

Signed-off-by: Vladimir Ulrich <admin@evl.su>
This commit is contained in:
Vladimir Ulrich 2015-04-23 12:10:34 +03:00
parent 4658193815
commit 2ef99b98ca
4 changed files with 1537 additions and 0 deletions

42
net/siit/Makefile Normal file
View File

@ -0,0 +1,42 @@
#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=siit
PKG_VERSION:=1.2
PKG_RELEASE:=1
PKG_LICENSE:=GPLv2+
include $(INCLUDE_DIR)/package.mk
define KernelPackage/siit
SUBMENU:=Network Devices
TITLE:=Stateless IP ICMP Translation Algorithm
DEPENDS:= @(!(TARGET_ps3||TARGET_pxcab))
FILES:=$(PKG_BUILD_DIR)/siit.ko
AUTOLOAD:=$(call AutoLoad,50,siit)
MAINTAINER=Vladimir Ulrich <admin@evl.su>
endef
include $(INCLUDE_DIR)/kernel-defaults.mk
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) $(KERNEL_MAKEOPTS) SUBDIRS="$(PKG_BUILD_DIR)" modules
endef
$(eval $(call KernelPackage,siit))

5
net/siit/src/Makefile Normal file
View File

@ -0,0 +1,5 @@
obj-m := siit.o
ifeq ($(MAKING_MODULES),1)
-include $(TOPDIR)/Rules.make
endif

1429
net/siit/src/siit.c Normal file

File diff suppressed because it is too large Load Diff

61
net/siit/src/siit.h Normal file
View 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...)