Message ID | 9df97f7f63e5c844ede07f1e6ec45c4e@propriete.com.br |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On 03/20/2015 08:35 PM, Marcelo wrote: > I think David and Willem suggestion were more about the dependencies > than fixing the build issue itself. I mean, if some part of TIPC really > needs IPv6 in order to work or something like that. > > So if all we want to do if fix the build issue, I have another suggestion. > When we have IPV6=m and TIPC=y, just have to use the stub too. > > (cut & pasted) > --- a/net/tipc/udp_media.c > +++ b/net/tipc/udp_media.c > @@ -193,7 +193,7 @@ static int tipc_udp_send_msg(struct net *net, struct > sk_buff *skb, > .saddr = src->ipv6, > .flowi6_proto = IPPROTO_UDP > }; > - err = ip6_dst_lookup(ub->ubsock->sk, &ndst, &fl6); > + err = ipv6_stub->ipv6_dst_lookup(ub->ubsock->sk, &ndst, > &fl6); > if (err) > goto tx_error; > ttl = ip6_dst_hoplimit(ndst); > > then it builds fine here. That is, assuming that you can't reach this code > while > ipv6 module is unloaded.. (I didn't check that) what do you think? It seems that your above change is useless to kill the error. For instance, when I apply it into my project, below build error appears: net/tipc/udp_media.c: In function ‘tipc_udp_send_msg’: net/tipc/udp_media.c:196:18: error: ‘const struct ipv6_stub’ has no member named ‘ip6_dst_lookup’ make[2]: *** [net/tipc/udp_media.o] Error 1 make[1]: *** [net/tipc] Error 2 make: *** [net] Error 2 In my opinion, we have to follow David's suggestion dividing the udp_media.c as an separate module. Regards, Ying -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 23-03-2015 00:00, Ying Xue wrote: > On 03/20/2015 08:35 PM, Marcelo wrote: >> I think David and Willem suggestion were more about the dependencies >> than fixing the build issue itself. I mean, if some part of TIPC really >> needs IPv6 in order to work or something like that. >> >> So if all we want to do if fix the build issue, I have another suggestion. >> When we have IPV6=m and TIPC=y, just have to use the stub too. >> >> (cut & pasted) >> --- a/net/tipc/udp_media.c >> +++ b/net/tipc/udp_media.c >> @@ -193,7 +193,7 @@ static int tipc_udp_send_msg(struct net *net, struct >> sk_buff *skb, >> .saddr = src->ipv6, >> .flowi6_proto = IPPROTO_UDP >> }; >> - err = ip6_dst_lookup(ub->ubsock->sk, &ndst, &fl6); >> + err = ipv6_stub->ipv6_dst_lookup(ub->ubsock->sk, &ndst, >> &fl6); >> if (err) >> goto tx_error; >> ttl = ip6_dst_hoplimit(ndst); >> >> then it builds fine here. That is, assuming that you can't reach this code >> while >> ipv6 module is unloaded.. (I didn't check that) what do you think? > > It seems that your above change is useless to kill the error. For instance, when > I apply it into my project, below build error appears: > > net/tipc/udp_media.c: In function ‘tipc_udp_send_msg’: > net/tipc/udp_media.c:196:18: error: ‘const struct ipv6_stub’ has no member named > ‘ip6_dst_lookup’ > make[2]: *** [net/tipc/udp_media.o] Error 1 > make[1]: *** [net/tipc] Error 2 > make: *** [net] Error 2 > > In my opinion, we have to follow David's suggestion dividing the udp_media.c as > an separate module. If you had checked which members ipv6_stub has, you would have noticed the member name has an extra 'v' than the actual function name. ip6_ -> ipv6_ How it goes then? Regards, Marcelo -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c @@ -193,7 +193,7 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb, .saddr = src->ipv6, .flowi6_proto = IPPROTO_UDP }; - err = ip6_dst_lookup(ub->ubsock->sk, &ndst, &fl6); + err = ipv6_stub->ipv6_dst_lookup(ub->ubsock->sk, &ndst, &fl6); if (err)