[netfilter-cvslog] r6316 - in trunk/nfsim/kernelenv: . include

laforge at netfilter.org laforge at netfilter.org
Mon Dec 12 22:29:38 CET 2005


Author: laforge at netfilter.org
Date: 2005-12-12 22:29:37 +0100 (Mon, 12 Dec 2005)
New Revision: 6316

Modified:
   trunk/nfsim/kernelenv/include/kernelenv.h
   trunk/nfsim/kernelenv/kernelenv.c
Log:
some more new kernel environment (e.g. vmalloc_node()) of 2.6.15


Modified: trunk/nfsim/kernelenv/include/kernelenv.h
===================================================================
--- trunk/nfsim/kernelenv/include/kernelenv.h	2005-12-12 10:58:28 UTC (rev 6315)
+++ trunk/nfsim/kernelenv/include/kernelenv.h	2005-12-12 21:29:37 UTC (rev 6316)
@@ -161,9 +161,24 @@
 extern void *__kmalloc_ctx;
 void *__malloc(unsigned int, void *ctx, const char *location);
 
+#define GFP_ATOMIC 0x01
+#define GFP_KERNEL 0x02
+
 #define vmalloc(s) __malloc((s), __vmalloc_ctx, __location__)
+#define vmalloc_node(size, node)		vmalloc(size)
 #define kmalloc(s,f) __malloc((s), (f) & GFP_ATOMIC ? __kmalloc_atomic_ctx : __kmalloc_ctx, __location__)
+#define kmalloc_node(size, flags, node)		kmalloc(size, flags)
+static inline void *kzalloc(size_t size, int flags)
+{
+	void *ret = kmalloc(size, flags);
+	if (!ret)
+		return ret;
 
+	memset(ret, 0, size);
+	return ret;
+}
+
+
 #define vfree(p)   talloc_unlink(__vmalloc_ctx, (p))
 #define kfree(p)   talloc_free(p)
 
@@ -712,6 +727,13 @@
 void *skb_header_pointer(const struct sk_buff *skb, int offset,
 			 int len, void *buffer);
 
+extern unsigned int __skb_checksum_complete(struct sk_buff *skb);
+static inline unsigned int skb_checksum_complete(struct sk_buff *skb)
+{
+	return skb->ip_summed != CHECKSUM_UNNECESSARY &&
+		__skb_checksum_complete(skb);
+}
+
 /* net/sock.h */
 #define sk_for_each(__sk, node, list) \
 	hlist_for_each_entry(__sk, node, list, sk_node)
@@ -1198,9 +1220,6 @@
 
 
 /* cache. simple. */
-#define GFP_ATOMIC 0x01
-#define GFP_KERNEL 0x02
-
 typedef struct kmem_cache_s kmem_cache_t;
 
 struct kmem_cache_obj {
@@ -1232,6 +1251,8 @@
 void free_pages(unsigned long addr, unsigned int order);
 int get_order(unsigned long size);
 
+#define cpu_to_node(x)	0
+
 /* wait.h */
 struct __wait_queue_head {
 	spinlock_t lock;
@@ -1282,12 +1303,12 @@
 	static void *__use_get##name __attribute__((unused)) = get
 struct kernel_param;
 
-static int param_get_uint(char *buffer, struct kernel_param *kp)
+static inline int param_get_uint(char *buffer, struct kernel_param *kp)
 {
 	return 0;
 }
 
-static int param_set_int(const char *val, struct kernel_param *kp)
+static inline int param_set_int(const char *val, struct kernel_param *kp)
 {
 	return 0;
 }
@@ -1360,6 +1381,10 @@
 #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
 #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
 
+/* smp.h */
+#define get_cpu()		({ preempt_disable(); smp_processor_id(); })
+#define put_cpu()		preempt_enable();
+
 /* if_ether.h */
 struct ethhdr *eth_hdr(const struct sk_buff *skb);
 

Modified: trunk/nfsim/kernelenv/kernelenv.c
===================================================================
--- trunk/nfsim/kernelenv/kernelenv.c	2005-12-12 10:58:28 UTC (rev 6315)
+++ trunk/nfsim/kernelenv/kernelenv.c	2005-12-12 21:29:37 UTC (rev 6316)
@@ -423,6 +423,21 @@
 	return csum_partial(data, len, csum);
 }
 
+unsigned int __skb_checksum_complete(struct sk_buff *skb)
+{
+	unsigned int sum;
+
+	sum = (u16)csum_fold(skb_checksum(skb, 0, skb->len, skb->csum));
+	if (likely(!sum)) {
+#if 0
+		if (unlikely(skb->ip_summed == CHECKSUM_HW))
+			netdev_rx_csum_fault(skb->dev);
+#endif
+		skb->ip_summed = CHECKSUM_UNNECESSARY;
+	}
+	return sum;
+}
+		
 void __skb_trim(struct sk_buff *skb, unsigned int len)
 {
 	skb->len  = len;




More information about the netfilter-cvslog mailing list