lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f4845fc0808210652o3b586e7cjbeadc41533f9ac7d@mail.gmail.com>
Date:	Thu, 21 Aug 2008 15:52:36 +0200
From:	"Julius Volz" <juliusv@...gle.com>
To:	"Brian Haley" <brian.haley@...com>
Cc:	netdev@...r.kernel.org, lvs-devel@...r.kernel.org,
	horms@...ge.net.au, kaber@...sh.net, vbusam@...gle.com
Subject: Re: [PATCH RFC 08/24] IPVS: Make protocol handler functions support IPv6

Hi,

On Thu, Aug 21, 2008 at 3:29 PM, Brian Haley <brian.haley@...com> wrote:
> Julius Volz wrote:
>>
>> +void
>> +ip_vs_tcpudp_debug_packet(struct ip_vs_protocol *pp,
>> +                         const struct sk_buff *skb,
>> +                         int offset,
>> +                         const char *msg)
>> +{
>> +#ifdef CONFIG_IP_VS_IPV6
>> +       if (skb->protocol == __constant_htons(ETH_P_IPV6))
>> +               ip_vs_tcpudp_debug_packet_v6(pp, skb, offset, msg);
>> +       else
>> +#endif
>
> I don't think you need the __constant_htons() here, just htons() - that's
> what tcp_ipv6.c does.

Thanks!

I guessed from the name and other uses that __constant_htons() is just
a version of htons() optimized for values that are constant at compile
time. Is this right? But htons() is fine too in any case.

>> +static void
>> +ah_debug_packet(struct ip_vs_protocol *pp, const struct sk_buff *skb,
>> +               int offset, const char *msg)
>> +{
>> +#ifdef CONFIG_IP_VS_IPV6
>> +       if (skb->protocol == __constant_htons(ETH_P_IPV6))
>> +               ah_debug_packet_v6(pp, skb, offset, msg);
>> +       else
>> +#endif
>
> htons()
>
>> +static void
>> +esp_debug_packet(struct ip_vs_protocol *pp, const struct sk_buff *skb,
>> +                int offset, const char *msg)
>> +{
>> +#ifdef CONFIG_IP_VS_IPV6
>> +       if (skb->protocol == __constant_htons(ETH_P_IPV6))
>> +               esp_debug_packet_v6(pp, skb, offset, msg);
>> +       else
>> +#endif
>
> htons()
>
> I think there's more in one of the other patches too.
>
> So why can't you just create one ip_vs_debug_packet_v6() instead of these ah
> and esp ones which are identical?

If you look at the original files, the whole ip_vs_proto_ah.c and
ip_vs_proto_esp.c are 100% identical except for the protocol names /
constants :-/ So I stuck with this pattern for now. Maybe it would
make sense to join those two files in a change separate from the v6
functionality? There's already a lot of duplication in the existing
IPVS that could be removed...

Julius

-- 
Google Switzerland GmbH
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ