[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.58.1009181731240.8887@u.domain.uli>
Date: Sat, 18 Sep 2010 18:09:28 +0300 (EEST)
From: Julian Anastasov <ja@....bg>
To: Simon Horman <horms@...ge.net.au>
cc: lvs-devel@...r.kernel.org, netdev@...r.kernel.org,
netfilter@...r.kernel.org, netfilter-devel@...r.kernel.org,
Wensong Zhang <wensong@...ux-vs.org>,
Patrick McHardy <kaber@...sh.net>
Subject: Re: [rfc 13/13] [RFC 13/13] IPVS: sip persistence engine
Hello,
On Thu, 5 Aug 2010, Simon Horman wrote:
> Add the SIP callid as a key for persistence.
...
> +static bool ip_vs_sip_ct_match(const struct ip_vs_conn_param *p,
> + struct ip_vs_conn *ct)
> +
> +{
> + bool ret = 0;
> +
> + if (ct->af == p->af &&
> + ip_vs_addr_equal(p->af, p->caddr, &ct->caddr) &&
> + /* protocol should only be IPPROTO_IP if
> + * d_addr is a fwmark */
> + ip_vs_addr_equal(p->protocol == IPPROTO_IP ? AF_UNSPEC : p->af,
> + p->vaddr, &ct->vaddr) &&
> + ct->vport == p->vport &&
> + ct->flags & IP_VS_CONN_F_TEMPLATE &&
> + ct->protocol == p->protocol &&
> + ct->pe_data && ct->pe_data_len == p->pe_data_len &&
> + !strnicmp(ct->pe_data, p->pe_data, p->pe_data_len))
According to RFC 3261 8.1.1.4 Call-ID,
"Call-IDs are case-sensitive and are simply compared byte-by-byte",
so may be memcmp should be used.
Also, may be ip_vs_sip_fill_param uses GFP_KERNEL in wrong
context.
Regards
--
Julian Anastasov <ja@....bg>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists