aboutsummaryrefslogtreecommitdiff
path: root/net/ipv4
diff options
context:
space:
mode:
authorMister Oyster <oysterized@gmail.com>2017-04-29 16:27:14 +0200
committerMister Oyster <oysterized@gmail.com>2017-04-29 16:47:32 +0200
commit3e0e49ebddd860ad6cceca5868de4c96858154a2 (patch)
treed906f2d58d3f3368661e18d54d8ddee5085f9970 /net/ipv4
parent0c0e2fb18f189e49944a5532098aef4ac09319c9 (diff)
mtk: 3.10 updates
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/arp.c3
-rw-r--r--net/ipv4/fib_frontend.c42
-rw-r--r--net/ipv4/inet_connection_sock.c2
-rw-r--r--net/ipv4/tcp.c25
-rw-r--r--net/ipv4/tcp_input.c10
-rw-r--r--net/ipv4/tcp_timer.c2
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);