public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* include/linux/ipv6.h  error?
@ 2004-12-30  0:38 Mateusz Berezecki
  2004-12-30  3:12 ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 2+ messages in thread
From: Mateusz Berezecki @ 2004-12-30  0:38 UTC (permalink / raw)
  To: Linux Kernel Mailing List

inet_sk(__sk) returns pointer to inet_sock structure which has pinet6 
field defined
or not defined depending on kernel configuration during compilation time

#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
        struct ipv6_pinfo       *pinet6;
#endif

the function below causes compilation error in kernel configs with 
neither CONFIG_IPV6 nor
CONFIG_IPV6_MODULE defined.

should these functions be included between
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)

static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)
{
        return inet_sk(__sk)->pinet6;
}

static inline struct raw6_opt * raw6_sk(const struct sock *__sk)
{
        return &((struct raw6_sock *)__sk)->raw6;
}
#endif


?? or should the #ifdef directive be removed from ipv6.h header file?


regards
-mb

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: include/linux/ipv6.h  error?
  2004-12-30  0:38 include/linux/ipv6.h error? Mateusz Berezecki
@ 2004-12-30  3:12 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2004-12-30  3:12 UTC (permalink / raw)
  To: Mateusz Berezecki; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]

Mateusz Berezecki wrote:
> inet_sk(__sk) returns pointer to inet_sock structure which has pinet6 
> field defined
> or not defined depending on kernel configuration during compilation time
> 
> #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
>        struct ipv6_pinfo       *pinet6;
> #endif
> 
> the function below causes compilation error in kernel configs with 
> neither CONFIG_IPV6 nor
> CONFIG_IPV6_MODULE defined.
> 
> should these functions be included between
> #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> 
> static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)
> {
>        return inet_sk(__sk)->pinet6;
> }
> 
> static inline struct raw6_opt * raw6_sk(const struct sock *__sk)
> {
>        return &((struct raw6_sock *)__sk)->raw6;
> }
> #endif
> 
> 
> ?? or should the #ifdef directive be removed from ipv6.h header file?

My fault, sorry... James Bottomley already pointed this out to me and I already
sent a fix to David Miller, CCed to netdev, here for convenience. It only
happens when you don't select IPV6.

I kindly suggest that such reports, related to networking development, at
least be CCed to netdev@oss.sgi.com.

- Arnaldo

[-- Attachment #2: inet6_sk.patch --]
[-- Type: text/plain, Size: 648 bytes --]

===== include/linux/ipv6.h 1.23 vs edited =====
--- 1.23/include/linux/ipv6.h	2004-12-27 23:56:33 -02:00
+++ edited/include/linux/ipv6.h	2004-12-29 20:22:45 -02:00
@@ -273,6 +273,7 @@
 	struct ipv6_pinfo inet6;
 };
 
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
 static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)
 {
 	return inet_sk(__sk)->pinet6;
@@ -283,7 +284,6 @@
 	return &((struct raw6_sock *)__sk)->raw6;
 }
 
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
 #define __ipv6_only_sock(sk)	(inet6_sk(sk)->ipv6only)
 #define ipv6_only_sock(sk)	((sk)->sk_family == PF_INET6 && __ipv6_only_sock(sk))
 #else

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-12-30  3:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-30  0:38 include/linux/ipv6.h error? Mateusz Berezecki
2004-12-30  3:12 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox