mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
[NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS.
Introduce per-net_device inlines: dev_net(), dev_net_set(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
This commit is contained in:
parent
7cbca67c07
commit
c346dca108
87 changed files with 251 additions and 228 deletions
|
@ -172,7 +172,7 @@ int ip_call_ra_chain(struct sk_buff *skb)
|
|||
if (sk && inet_sk(sk)->num == protocol &&
|
||||
(!sk->sk_bound_dev_if ||
|
||||
sk->sk_bound_dev_if == dev->ifindex) &&
|
||||
sk->sk_net == dev->nd_net) {
|
||||
sk->sk_net == dev_net(dev)) {
|
||||
if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)) {
|
||||
if (ip_defrag(skb, IP_DEFRAG_CALL_RA_CHAIN)) {
|
||||
read_unlock(&ip_ra_lock);
|
||||
|
@ -199,7 +199,7 @@ int ip_call_ra_chain(struct sk_buff *skb)
|
|||
|
||||
static int ip_local_deliver_finish(struct sk_buff *skb)
|
||||
{
|
||||
struct net *net = skb->dev->nd_net;
|
||||
struct net *net = dev_net(skb->dev);
|
||||
|
||||
__skb_pull(skb, ip_hdrlen(skb));
|
||||
|
||||
|
@ -291,7 +291,7 @@ static inline int ip_rcv_options(struct sk_buff *skb)
|
|||
opt = &(IPCB(skb)->opt);
|
||||
opt->optlen = iph->ihl*4 - sizeof(struct iphdr);
|
||||
|
||||
if (ip_options_compile(dev->nd_net, opt, skb)) {
|
||||
if (ip_options_compile(dev_net(dev), opt, skb)) {
|
||||
IP_INC_STATS_BH(IPSTATS_MIB_INHDRERRORS);
|
||||
goto drop;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue