add siit for stateless ip and icmp translation to ipv6
[openwrt/svn-archive/archive.git] / package / siit / src / siit.h
diff --git a/package/siit/src/siit.h b/package/siit/src/siit.h
new file mode 100644 (file)
index 0000000..47cf776
--- /dev/null
@@ -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...)
+
+
+
+
+
+
+
+