ip6t_mark.c

来自「这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自」· C语言 代码 · 共 42 行

C
42
字号
/* This is a module which is used for setting the NFMARK field of an skb. */#include <linux/module.h>#include <linux/skbuff.h>#include <linux/ip.h>#include <net/checksum.h>#include <linux/netfilter_ipv6/ip6_tables.h>#include <linux/netfilter_ipv6/ip6t_MARK.h>static unsigned inttarget(struct sk_buff **pskb,       unsigned int hooknum,       const struct net_device *in,       const struct net_device *out,       const void *targinfo,       void *userinfo){	const struct ip6t_mark_target_info *markinfo = targinfo;	if((*pskb)->nfmark != markinfo->mark) {		(*pskb)->nfmark = markinfo->mark;		(*pskb)->nfcache |= NFC_ALTERED;	}	return IP6T_CONTINUE;}static intcheckentry(const char *tablename,	   const struct ip6t_entry *e,           void *targinfo,           unsigned int targinfosize,           unsigned int hook_mask){	if (targinfosize != IP6T_ALIGN(sizeof(struct ip6t_mark_target_info))) {		printk(KERN_WARNING "MARK: targinfosize %u != %Zu\n",		       targinfosize,		       IP6T_ALIGN(sizeof(struct ip6t_mark_target_info)));		return 0;	}	if (strcmp(tablename, "mangle") != 0) {		p

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?