[BACK]Return to ip_input.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netinet

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netinet/ip_input.c between version 1.337.2.3 and 1.337.2.4

version 1.337.2.3, 2017/01/07 08:56:51 version 1.337.2.4, 2017/03/20 06:57:50
Line 349  ip_init(void)
Line 349  ip_init(void)
 #endif /* MBUFTRACE */  #endif /* MBUFTRACE */
   
         ipstat_percpu = percpu_alloc(sizeof(uint64_t) * IP_NSTATS);          ipstat_percpu = percpu_alloc(sizeof(uint64_t) * IP_NSTATS);
   
           ipforward_rt_percpu = percpu_alloc(sizeof(struct route));
           if (ipforward_rt_percpu == NULL)
                   panic("failed to allocate ipforward_rt_percpu");
   
           ip_mtudisc_timeout_q = rt_timer_queue_create(ip_mtudisc_timeout);
 }  }
   
 static struct in_ifaddr *  static struct in_ifaddr *
Line 861  void
Line 867  void
 ip_slowtimo(void)  ip_slowtimo(void)
 {  {
   
   #ifndef NET_MPSAFE
         mutex_enter(softnet_lock);          mutex_enter(softnet_lock);
         KERNEL_LOCK(1, NULL);          KERNEL_LOCK(1, NULL);
   #endif
   
         ip_reass_slowtimo();          ip_reass_slowtimo();
   
   #ifndef NET_MPSAFE
         KERNEL_UNLOCK_ONE(NULL);          KERNEL_UNLOCK_ONE(NULL);
         mutex_exit(softnet_lock);          mutex_exit(softnet_lock);
   #endif
 }  }
   
 /*  /*
Line 899  ip_dooptions(struct mbuf *m)
Line 909  ip_dooptions(struct mbuf *m)
         int opt, optlen, cnt, off, code, type = ICMP_PARAMPROB, forward = 0;          int opt, optlen, cnt, off, code, type = ICMP_PARAMPROB, forward = 0;
         struct in_addr dst;          struct in_addr dst;
         n_time ntime;          n_time ntime;
         struct ifaddr *ifa;          struct ifaddr *ifa = NULL;
         int s;          int s;
   
         dst = ip->ip_dst;          dst = ip->ip_dst;
Line 1089  ip_dooptions(struct mbuf *m)
Line 1099  ip_dooptions(struct mbuf *m)
                                 ipaddr.sin_addr = dst;                                  ipaddr.sin_addr = dst;
                                 _ss = pserialize_read_enter();                                  _ss = pserialize_read_enter();
                                 rcvif = m_get_rcvif(m, &_s);                                  rcvif = m_get_rcvif(m, &_s);
                                 ifa = ifaof_ifpforaddr(sintosa(&ipaddr), rcvif);                                  if (__predict_true(rcvif != NULL)) {
                                           ifa = ifaof_ifpforaddr(sintosa(&ipaddr),
                                               rcvif);
                                   }
                                 m_put_rcvif(rcvif, &_s);                                  m_put_rcvif(rcvif, &_s);
                                 if (ifa == NULL) {                                  if (ifa == NULL) {
                                         pserialize_read_exit(_ss);                                          pserialize_read_exit(_ss);
Line 1587  sysctl_net_inet_ip_pmtudto(SYSCTLFN_ARGS
Line 1600  sysctl_net_inet_ip_pmtudto(SYSCTLFN_ARGS
         int error, tmp;          int error, tmp;
         struct sysctlnode node;          struct sysctlnode node;
   
           icmp_mtudisc_lock();
   
         node = *rnode;          node = *rnode;
         tmp = ip_mtudisc_timeout;          tmp = ip_mtudisc_timeout;
         node.sysctl_data = &tmp;          node.sysctl_data = &tmp;
         error = sysctl_lookup(SYSCTLFN_CALL(&node));          error = sysctl_lookup(SYSCTLFN_CALL(&node));
         if (error || newp == NULL)          if (error || newp == NULL)
                 return (error);                  goto out;
         if (tmp < 0)          if (tmp < 0) {
                 return (EINVAL);                  error = EINVAL;
                   goto out;
         mutex_enter(softnet_lock);          }
   
         ip_mtudisc_timeout = tmp;          ip_mtudisc_timeout = tmp;
         rt_timer_queue_change(ip_mtudisc_timeout_q, ip_mtudisc_timeout);          rt_timer_queue_change(ip_mtudisc_timeout_q, ip_mtudisc_timeout);
           error = 0;
         mutex_exit(softnet_lock);  out:
           icmp_mtudisc_unlock();
         return (0);          return error;
 }  }
   
 static int  static int

Legend:
Removed from v.1.337.2.3  
changed lines
  Added in v.1.337.2.4

CVSweb <webmaster@jp.NetBSD.org>