Thread (59 messages) 59 messages, 6 authors, 2008-08-27

Re: [PATCH RFC 08/24] IPVS: Make protocol handler functions support IPv6

From: Julius Volz <hidden>
Date: 2008-08-21 13:52:36
Also in: lvs-devel

Hi,

On Thu, Aug 21, 2008 at 3:29 PM, Brian Haley [off-list ref] wrote:
Julius Volz wrote:
quoted
+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.
quoted
+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()
quoted
+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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help