diff options
| author | Mister Oyster <oysterized@gmail.com> | 2017-04-29 16:27:14 +0200 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-04-29 16:47:32 +0200 |
| commit | 3e0e49ebddd860ad6cceca5868de4c96858154a2 (patch) | |
| tree | d906f2d58d3f3368661e18d54d8ddee5085f9970 /net/ipv4 | |
| parent | 0c0e2fb18f189e49944a5532098aef4ac09319c9 (diff) | |
mtk: 3.10 updates
Diffstat (limited to 'net/ipv4')
| -rw-r--r-- | net/ipv4/arp.c | 3 | ||||
| -rw-r--r-- | net/ipv4/fib_frontend.c | 42 | ||||
| -rw-r--r-- | net/ipv4/inet_connection_sock.c | 2 | ||||
| -rw-r--r-- | net/ipv4/tcp.c | 25 | ||||
| -rw-r--r-- | net/ipv4/tcp_input.c | 10 | ||||
| -rw-r--r-- | net/ipv4/tcp_timer.c | 2 |
6 files changed, 39 insertions, 45 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 710859c53..5fe16a76d 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -157,7 +157,6 @@ static const struct neigh_ops arp_broken_ops = { .connected_output = neigh_compat_output, }; -/* MTK_NET_CHANGES */ struct neigh_table arp_tbl = { .family = AF_INET, .key_len = 4, @@ -705,7 +704,7 @@ void arp_send(int type, int ptype, __be32 dest_ip, if (dev->flags&IFF_NOARP) return; #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][arp]arp_send type = %d, dev = %s\n", type, dev->name); + pr_debug(KERN_INFO "[mtk_net][arp]arp_send type = %d, dev = %s\n", type, dev->name); #endif skb = arp_create(type, ptype, dest_ip, dev, src_ip, dest_hw, src_hw, target_hw); diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index f31866e9a..5464901b8 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -623,15 +623,15 @@ static int inet_rtm_delroute(struct sk_buff *skb, struct nlmsghdr *nlh) struct fib_config cfg; struct fib_table *tb; int err; - #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog delete] inet_rtm_delroute !\n"); - #endif + //#ifdef CONFIG_MTK_NET_LOGGING + //printk(KERN_INFO "[mtk_net][RTlog delete] inet_rtm_delroute !\n"); + //#endif err = rtm_to_fib_config(net, skb, nlh, &cfg); if (err < 0) goto errout; - #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog info] inet_rtm_delroute cfg.fc_dst =%08x, cfg.fc_gw =%08x\n",cfg.fc_dst,cfg.fc_gw); - #endif + //#ifdef CONFIG_MTK_NET_LOGGING + //printk(KERN_INFO "[mtk_net][RTlog info] inet_rtm_delroute cfg.fc_dst =%08x, cfg.fc_gw =%08x\n",cfg.fc_dst,cfg.fc_gw); + //#endif tb = fib_get_table(net, cfg.fc_table); if (tb == NULL) { err = -ESRCH; @@ -649,16 +649,16 @@ static int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh) struct fib_config cfg; struct fib_table *tb; int err; - #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog insert] inet_rtm_newroute !\n"); - #endif + //#ifdef CONFIG_MTK_NET_LOGGING + //printk(KERN_INFO "[mtk_net][RTlog insert] inet_rtm_newroute !\n"); + //#endif err = rtm_to_fib_config(net, skb, nlh, &cfg); if (err < 0) goto errout; - #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog info] inet_rtm_newroute cfg.fc_dst =%08x,cfg.fc_gw =%08x \n",cfg.fc_dst,cfg.fc_gw); - #endif + //#ifdef CONFIG_MTK_NET_LOGGING + //printk(KERN_INFO "[mtk_net][RTlog info] inet_rtm_newroute cfg.fc_dst =%08x,cfg.fc_gw =%08x \n",cfg.fc_dst,cfg.fc_gw); + //#endif tb = fib_new_table(net, cfg.fc_table); if (tb == NULL) { @@ -784,9 +784,9 @@ void fib_add_ifaddr(struct in_ifaddr *ifa) (prefix != addr || ifa->ifa_prefixlen < 32)) { /* MTK_NET_CHANGES */ if(0 == strncmp(dev->name, "ccmni", 2)){ - #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog] ignore ccmni subnet route\n"); - #endif + //#ifdef CONFIG_MTK_NET_LOGGING + //printk(KERN_INFO "[mtk_net][RTlog] ignore ccmni subnet route\n"); + //#endif } else { fib_magic(RTM_NEWROUTE, dev->flags & IFF_LOOPBACK ? RTN_LOCAL : RTN_UNICAST, @@ -1047,7 +1047,7 @@ static int fib_inetaddr_event(struct notifier_block *this, unsigned long event, switch (event) { case NETDEV_UP: #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog insert] fib_inetaddr_event() %s NETDEV_UP!\n", ifa->ifa_dev->dev->name); + pr_debug(KERN_INFO "[mtk_net][RTlog insert] fib_inetaddr_event() %s NETDEV_UP!\n", ifa->ifa_dev->dev->name); #endif fib_add_ifaddr(ifa); #ifdef CONFIG_IP_ROUTE_MULTIPATH @@ -1057,9 +1057,9 @@ static int fib_inetaddr_event(struct notifier_block *this, unsigned long event, rt_cache_flush(dev_net(dev)); break; case NETDEV_DOWN: - #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog delete] fib_inetaddr_event() %s NETDEV_DOWN!\n", ifa->ifa_dev->dev->name); - #endif + //#ifdef CONFIG_MTK_NET_LOGGING + //printk(KERN_INFO "[mtk_net][RTlog delete] fib_inetaddr_event() %s NETDEV_DOWN!\n", ifa->ifa_dev->dev->name); + //#endif fib_del_ifaddr(ifa, NULL); atomic_inc(&net->ipv4.dev_addr_genid); if (ifa->ifa_dev->ifa_list == NULL) { @@ -1094,7 +1094,7 @@ static int fib_netdev_event(struct notifier_block *this, unsigned long event, vo switch (event) { case NETDEV_UP: #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog insert] fib_netdev_event() %s NETDEV_UP!\n", dev->name); + pr_debug(KERN_INFO "[mtk_net][RTlog insert] fib_netdev_event() %s NETDEV_UP!\n", dev->name); #endif for_ifa(in_dev) { fib_add_ifaddr(ifa); @@ -1107,7 +1107,7 @@ static int fib_netdev_event(struct notifier_block *this, unsigned long event, vo break; case NETDEV_DOWN: #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_INFO "[mtk_net][RTlog delete] fib_netdev_event() %s NETDEV_DOWN!\n", dev->name); + pr_debug(KERN_INFO "[mtk_net][RTlog delete] fib_netdev_event() %s NETDEV_DOWN!\n", dev->name); #endif fib_disable_ip(dev, 0); break; diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index acabb4d63..45f83c279 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c @@ -781,7 +781,7 @@ int inet_csk_listen_start(struct sock *sk, const int nr_table_entries) if (!sk->sk_prot->get_port(sk, inet->inet_num)) { inet->inet_sport = htons(inet->inet_num); #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_WARNING "[mtk_net][socket] inet_csk_listen_start inet->inet_sport:%d,inet->inet_num:%d",inet->inet_sport,inet->inet_num); + pr_debug(KERN_WARNING "[mtk_net][socket] inet_csk_listen_start inet->inet_sport:%d,inet->inet_num:%d",inet->inet_sport,inet->inet_num); #endif sk_dst_reset(sk); sk->sk_prot->hash(sk); diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index e789e9217..c303d7e05 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -3559,9 +3559,7 @@ int tcp_nuke_addr(struct net *net, struct sockaddr *addr) int family = addr->sa_family; unsigned int bucket; - /*mtk_net:debug log*/ - int count = 0; - struct in_addr *in; + struct in_addr *in = NULL; #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) struct in6_addr *in6 = NULL ; #endif @@ -3574,8 +3572,6 @@ int tcp_nuke_addr(struct net *net, struct sockaddr *addr) } else { return -EAFNOSUPPORT; } - /*mtk_net:debug log*/ - printk(KERN_INFO "[mtk_net][tcp]tcp_nuke_addr: tcp_hashinfo.ehash_mask = %d\n",tcp_hashinfo.ehash_mask); for (bucket = 0; bucket <= tcp_hashinfo.ehash_mask; bucket++) { struct hlist_nulls_node *node; struct sock *sk; @@ -3627,15 +3623,14 @@ restart: // Check for SOCK_DEAD again, it could have changed. // Add a write barrier, see tcp_reset(). local_bh_disable(); - sk->sk_err = ETIMEDOUT; - sk->sk_error_report(sk); - count++; - /*mtk_net: skip closed sk*/ - if(sk->sk_state != TCP_CLOSE && sk->sk_shutdown != SHUTDOWN_MASK) - { - printk(KERN_INFO "[mtk_net][tcp]skip ALPS01866438 Google Issue!\n"); - } - tcp_done(sk); + + if (!sock_flag(sk, SOCK_DEAD)) { + smp_wmb(); /* be consistent with tcp_reset */ + sk->sk_err = ETIMEDOUT; + sk->sk_error_report(sk); + tcp_done(sk); + } + release_sock(sk); local_bh_enable(); sock_put(sk); @@ -3644,6 +3639,6 @@ restart: } spin_unlock_bh(lock); } - printk(KERN_INFO "[mtk_net][tcp]tcp_nuke_addr : count = %d\n",count); + return 0; } diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 0d093aacc..8ebd25845 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -1887,7 +1887,7 @@ void tcp_enter_loss(struct sock *sk, int how) if (icsk->icsk_MMSRB == 1) { #ifdef CONFIG_MTK_NET_LOGGING - printk("[mtk_net][mmspb] tcp_enter_loss snd_cwnd=%u, snd_cwnd_cnt=%u\n", tp->snd_cwnd, tp->snd_cwnd_cnt); + pr_debug("[mtk_net][mmspb] tcp_enter_loss snd_cwnd=%u, snd_cwnd_cnt=%u\n", tp->snd_cwnd, tp->snd_cwnd_cnt); #endif if (tp->mss_cache != 0) tp->snd_cwnd = (tp->rcv_wnd / tp->mss_cache); @@ -1905,11 +1905,11 @@ void tcp_enter_loss(struct sock *sk, int how) tp->snd_cwnd = tp->snd_ssthresh / 2 + 4; } #ifdef CONFIG_MTK_NET_LOGGING - printk("[mtk_net][mmspb] tcp_enter_loss update snd_cwnd=%u\n", tp->snd_cwnd); + pr_debug("[mtk_net][mmspb] tcp_enter_loss update snd_cwnd=%u\n", tp->snd_cwnd); #endif icsk1->icsk_MMSRB = 0; #ifdef CONFIG_MTK_NET_LOGGING - printk("[mtk_net][mmspb] tcp_enter_loss set icsk_MMSRB=0\n"); + pr_debug("[mtk_net][mmspb] tcp_enter_loss set icsk_MMSRB=0\n"); #endif } else @@ -5330,7 +5330,7 @@ slow_path: if (len < (th->doff << 2) || tcp_checksum_complete_user(sk, skb)) goto csum_error; - if (!th->ack && !th->rst) + if (!th->ack && !th->rst && !th->syn) goto discard; /* @@ -5747,7 +5747,7 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, goto discard; } - if (!th->ack && !th->rst) + if (!th->ack && !th->rst && !th->syn) goto discard; if (!tcp_validate_incoming(sk, skb, th, 0)) diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 98cd820c1..626e1b04c 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -423,7 +423,7 @@ void tcp_retransmit_timer(struct sock *sk) if (icsk->icsk_MMSRB == 1) { #ifdef CONFIG_MTK_NET_LOGGING - printk(KERN_DEBUG "[mtk_net][mmspb] tcp_retransmit_timer enter loss\n"); + pr_debug(KERN_DEBUG "[mtk_net][mmspb] tcp_retransmit_timer enter loss\n"); #endif } tcp_enter_loss(sk, 0); |
