* Re: [netfilter-core] [PATCH 2.6.7] ip_table_raw C99 initialization
[not found] ` <20040616160921.2727a57c@dell_ss3.pdx.osdl.net>
@ 2004-06-17 13:07 ` Patrick McHardy
0 siblings, 0 replies; only message in thread
From: Patrick McHardy @ 2004-06-17 13:07 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: coreteam, netfilter-devel
Stephen Hemminger wrote:
> Sparse didn't like the construct in iptables_raw
> {[NF_IP_XXX] 0,
> because it was an old GNU style initializer.
> So I bit the bullet and redid the initial_table as full C99.
> Builds okay, but please check it before applying.
Thanks Stephen, entry was missing from the ERROR part, I've fixed it
and will pass the patch on to Harald.
Regards
Patrick
>
> Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
>
> diff -Nru a/net/ipv4/netfilter/iptable_raw.c b/net/ipv4/netfilter/iptable_raw.c
> --- a/net/ipv4/netfilter/iptable_raw.c 2004-06-16 16:05:40 -07:00
> +++ b/net/ipv4/netfilter/iptable_raw.c 2004-06-16 16:05:40 -07:00
> @@ -32,43 +32,60 @@
> struct ipt_replace repl;
> struct ipt_standard entries[2];
> struct ipt_error term;
> -} initial_table __initdata
> -= { { "raw", RAW_VALID_HOOKS, 3,
> - sizeof(struct ipt_standard) * 2 + sizeof(struct ipt_error),
> - { [NF_IP_PRE_ROUTING] 0,
> - [NF_IP_LOCAL_OUT] sizeof(struct ipt_standard) },
> - { [NF_IP_PRE_ROUTING] 0,
> - [NF_IP_LOCAL_OUT] sizeof(struct ipt_standard) },
> - 0, NULL, { } },
> - {
> - /* PRE_ROUTING */
> - { { { { 0 }, { 0 }, { 0 }, { 0 }, "", "", { 0 }, { 0 }, 0, 0, 0 },
> - 0,
> - sizeof(struct ipt_entry),
> - sizeof(struct ipt_standard),
> - 0, { 0, 0 }, { } },
> - { { { { IPT_ALIGN(sizeof(struct ipt_standard_target)), "" } }, { } },
> - -NF_ACCEPT - 1 } },
> - /* LOCAL_OUT */
> - { { { { 0 }, { 0 }, { 0 }, { 0 }, "", "", { 0 }, { 0 }, 0, 0, 0 },
> - 0,
> - sizeof(struct ipt_entry),
> - sizeof(struct ipt_standard),
> - 0, { 0, 0 }, { } },
> - { { { { IPT_ALIGN(sizeof(struct ipt_standard_target)), "" } }, { } },
> - -NF_ACCEPT - 1 } }
> - },
> - /* ERROR */
> - { { { { 0 }, { 0 }, { 0 }, { 0 }, "", "", { 0 }, { 0 }, 0, 0, 0 },
> - 0,
> - sizeof(struct ipt_entry),
> - sizeof(struct ipt_error),
> - 0, { 0, 0 }, { } },
> - { { { { IPT_ALIGN(sizeof(struct ipt_error_target)), IPT_ERROR_TARGET } },
> - { } },
> - "ERROR"
> - }
> - }
> +} initial_table __initdata = {
> + .repl = {
> + .name = "raw",
> + .valid_hooks = RAW_VALID_HOOKS,
> + .num_entries = 3,
> + .size = sizeof(struct ipt_standard) * 2 + sizeof(struct ipt_error),
> + .hook_entry = {
> + [NF_IP_PRE_ROUTING] = 0,
> + [NF_IP_LOCAL_OUT] = sizeof(struct ipt_standard) },
> + .underflow = {
> + [NF_IP_PRE_ROUTING] = 0,
> + [NF_IP_LOCAL_OUT] = sizeof(struct ipt_standard) },
> + },
> + .entries = {
> + /* PRE_ROUTING */
> + {
> + .entry = {
> + .target_offset = sizeof(struct ipt_entry),
> + .next_offset = sizeof(struct ipt_standard),
> + },
> + .target = {
> + .target = {
> + .u.target_size = IPT_ALIGN(sizeof(struct ipt_standard_target)),
> + },
> + .verdict = -NF_ACCEPT - 1,
> + },
> + },
> +
> + /* LOCAL_OUT */
> + {
> + .entry = {
> + .target_offset = sizeof(struct ipt_entry),
> + .next_offset = sizeof(struct ipt_standard),
> + },
> + .target = {
> + .target = {
> + .u.target_size = IPT_ALIGN(sizeof(struct ipt_standard_target)),
> + },
> + .verdict = -NF_ACCEPT - 1,
> + },
> + },
> + },
> + /* ERROR */
> + .term = {
> + .target = {
> + .target = {
> + .u.user = {
> + .target_size = IPT_ALIGN(sizeof(struct ipt_error_target)),
> + .name = IPT_ERROR_TARGET,
> + },
> + },
> + .errorname = "ERROR",
> + },
> + }
> };
>
> static struct ipt_table packet_raw = {
>
^ permalink raw reply [flat|nested] only message in thread