LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH 1/3] netfilter: xt_ipvs (netfilter matcher for IPVS)

To: Jan Engelhardt <jengelh@xxxxxxxxxx>
Subject: Re: [PATCH 1/3] netfilter: xt_ipvs (netfilter matcher for IPVS)
Cc: Patrick McHardy <kaber@xxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, Fabien Duchêne <mad_fab@xxxxxxxxx>, Jean-Luc Fortemaison <jl.fortemaison@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, Julius Volz <julius.volz@xxxxxxxxx>, Laurent Grawet <laurent.grawet@xxxxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, Wensong Zhang <wensong@xxxxxxxxxxxx>
From: Hannes Eder <heder@xxxxxxxxxx>
Date: Wed, 2 Sep 2009 18:05:54 +0200
On Wed, Sep 2, 2009 at 17:49, Jan Engelhardt<jengelh@xxxxxxxxxx> wrote:
>
> On Wednesday 2009-09-02 17:36, Patrick McHardy wrote:
>>>
>>> Nice, I'll use par->family.
>>>
>>> So in theory I do not even need a check like the following in the beginning?
>>>
>>>      if (family != NFPROTO_IPV4
>>> #ifdef CONFIG_IP_VS_IPV6
>>>          && family != NFPROTO_IPV6
>>> #endif
>>>              ) {
>>>              match = false;
>>>              goto out;
>>>      }
>>
>>With the AF_UNSPEC registration of your match, it might be used
>
> par->family always contains the NFPROTO of the invoking implementation,
> which can never be UNSPEC (except, in future, xtables2 ;-)
>
> par->match->family however may be UNSPEC if the module works that way.
> Which is why we have par->family.
>

I'll a check_entry function:

static bool ipvs_mt_check(const struct xt_mtchk_param *par)
{
        if (par->family != NFPROTO_IPV4
#ifdef CONFIG_IP_VS_IPV6
            && par->family != NFPROTO_IPV6
#endif
                )
                return false;

        return true;
}

and remove the runtime check in ipvs_mt.
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>