>From: netfilter-devel-owner >Date: 2015-04-16 >To: Zhang, Chunyu/章 春宇 >Subject: Re: Re: [PATCH] Add NFPROTO_ARP for mark > >On Thu, Apr 16, 2015 at 05:39:31AM +0000, Zhang, Chunyu wrote: >> >> hi pablo >> >> >From: Pablo Neira Ayuso >> >Date: 2015-04-09 >> >To: Zhang, Chunyu/章 春宇 >> >Subject: Re: Re: [PATCH] Add NFPROTO_ARP for mark >> > >> >On Thu, Apr 09, 2015 at 03:54:33AM +0000, Zhang, Chunyu wrote: >> >> >From: Pablo Neira Ayuso >> >> >Date: 2015-04-09 >> >> >To: Zhang, Chunyu/章 春宇 >> >> >Subject: Re: [PATCH] Add NFPROTO_ARP for mark >> >[...] >> >> >> @@ -41,13 +42,23 @@ mark_mt(const struct sk_buff *skb, struct xt_action_param *par) >> >> >> return ((skb->mark & info->mask) == info->mark) ^ info->invert; >> >> >> } >> >> >> >> >> >> -static struct xt_target mark_tg_reg __read_mostly = { >> >> >> - .name = "MARK", >> >> >> - .revision = 2, >> >> >> - .family = NFPROTO_UNSPEC, >> >> >> - .target = mark_tg, >> >> >> - .targetsize = sizeof(struct xt_mark_tginfo2), >> >> >> - .me = THIS_MODULE, >> >> >> +static struct xt_target mark_tg_reg[] __read_mostly = { >> >> >> + { >> >> >> + .name = "MARK", >> >> >> + .revision = 2, >> >> >> + .family = NFPROTO_UNSPEC, >> >> >> + .target = mark_tg, >> >> >> + .targetsize = sizeof(struct xt_mark_tginfo2), >> >> >> + .me = THIS_MODULE, >> >> >> + }, >> >> >> + { >> >> >> + .name = "MARK", >> >> >> + .revision = 2, >> >> >> + .family = NFPROTO_ARP, >> >> >> + .target = mark_tg, >> >> >> + .targetsize = sizeof(struct xt_mark_tginfo2), >> >> >> + .me = THIS_MODULE, >> >> >> + } >> >> >> }; >> >> > >> >> >You don't need this. >> >> > >> >> >The problem is here that your patch: >> >> > >> >> >http://patchwork.ozlabs.org/patch/455966/ >> >> > >> >> >is missing this chunk: >> >> > >> >> >diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c >> >> >index a034930..87404ce 100644 >> >> >--- a/libarptc/libarptc_incl.c >> >> >+++ b/libarptc/libarptc_incl.c >> >> >@@ -872,7 +872,7 @@ map_target(const TC_HANDLE_T handle, >> >> > /* memset to all 0 for your memcmp convenience. */ >> >> > memset(t->u.user.name + strlen(t->u.user.name), >> >> > 0, >> >> >- FUNCTION_MAXNAMELEN - strlen(t->u.user.name)); >> >> >+ FUNCTION_MAXNAMELEN - 1 - strlen(t->u.user.name)); >> >> > return 1; >> >> > } >> >> 1. >> maybe should change like this? >> >> diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c >> index a034930..4049cbd 100644 >> --- a/libarptc/libarptc_incl.c >> +++ b/libarptc/libarptc_incl.c >> @@ -872,7 +872,7 @@ map_target(const TC_HANDLE_T handle, >> /* memset to all 0 for your memcmp convenience. */ >> memset(t->u.user.name + strlen(t->u.user.name), >> 0, >> - FUNCTION_MAXNAMELEN - strlen(t->u.user.name)); >> + XT_EXTENSION_MAXNAMELEN - strlen(t->u.user.name)); > >No, you can't do this. > >After getting arptables userspace in sync with kernel headers, you can >see that: > >#define ARPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN > >and: > >libarptc/libarptc.c:#define FUNCTION_MAXNAMELEN ARPT_FUNCTION_MAXNAMELEN > >You have to do it the way I suggested. > >Another motivation to make it the way I indicated is that this will be >in sync with iptables/ip6tables. > >Anyway, I have just pushed this branch: > >http://git.netfilter.org/arptables/log/?h=next > >to try to close this discussion. ok. thanks. >-- >To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in >the body of a message to majordomo@xxxxxxxxxxxxxxx >More majordomo info at http://vger.kernel.org/majordomo-info.html��.n��������+%����;��w��{.n����z�����n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�