diff options
-rw-r--r-- | Documentation/networking/udplite.txt | 2 | ||||
-rw-r--r-- | net/ipv4/udp.c | 7 | ||||
-rw-r--r-- | net/ipv6/udp.c | 4 |
3 files changed, 7 insertions, 6 deletions
diff --git a/Documentation/networking/udplite.txt b/Documentation/networking/udplite.txt index b6409cab075c..3870f280280b 100644 --- a/Documentation/networking/udplite.txt +++ b/Documentation/networking/udplite.txt | |||
@@ -236,7 +236,7 @@ | |||
236 | 236 | ||
237 | This displays UDP-Lite statistics variables, whose meaning is as follows. | 237 | This displays UDP-Lite statistics variables, whose meaning is as follows. |
238 | 238 | ||
239 | InDatagrams: Total number of received datagrams. | 239 | InDatagrams: The total number of datagrams delivered to users. |
240 | 240 | ||
241 | NoPorts: Number of packets received to an unknown port. | 241 | NoPorts: Number of packets received to an unknown port. |
242 | These cases are counted separately (not as InErrors). | 242 | These cases are counted separately (not as InErrors). |
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 03c400ca14c5..3465d4ad301b 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -873,6 +873,8 @@ try_again: | |||
873 | if (err) | 873 | if (err) |
874 | goto out_free; | 874 | goto out_free; |
875 | 875 | ||
876 | UDP_INC_STATS_USER(UDP_MIB_INDATAGRAMS, is_udplite); | ||
877 | |||
876 | sock_recv_timestamp(msg, sk, skb); | 878 | sock_recv_timestamp(msg, sk, skb); |
877 | 879 | ||
878 | /* Copy the address. */ | 880 | /* Copy the address. */ |
@@ -966,10 +968,8 @@ int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) | |||
966 | int ret; | 968 | int ret; |
967 | 969 | ||
968 | ret = (*up->encap_rcv)(sk, skb); | 970 | ret = (*up->encap_rcv)(sk, skb); |
969 | if (ret <= 0) { | 971 | if (ret <= 0) |
970 | UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS, up->pcflag); | ||
971 | return -ret; | 972 | return -ret; |
972 | } | ||
973 | } | 973 | } |
974 | 974 | ||
975 | /* FALLTHROUGH -- it's a UDP Packet */ | 975 | /* FALLTHROUGH -- it's a UDP Packet */ |
@@ -1023,7 +1023,6 @@ int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) | |||
1023 | goto drop; | 1023 | goto drop; |
1024 | } | 1024 | } |
1025 | 1025 | ||
1026 | UDP_INC_STATS_BH(UDP_MIB_INDATAGRAMS, up->pcflag); | ||
1027 | return 0; | 1026 | return 0; |
1028 | 1027 | ||
1029 | drop: | 1028 | drop: |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index ee1cc3f8599f..b0474a618bbe 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -164,6 +164,8 @@ try_again: | |||
164 | if (err) | 164 | if (err) |
165 | goto out_free; | 165 | goto out_free; |
166 | 166 | ||
167 | UDP6_INC_STATS_USER(UDP_MIB_INDATAGRAMS, is_udplite); | ||
168 | |||
167 | sock_recv_timestamp(msg, sk, skb); | 169 | sock_recv_timestamp(msg, sk, skb); |
168 | 170 | ||
169 | /* Copy the address. */ | 171 | /* Copy the address. */ |
@@ -292,7 +294,7 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) | |||
292 | UDP6_INC_STATS_BH(UDP_MIB_RCVBUFERRORS, up->pcflag); | 294 | UDP6_INC_STATS_BH(UDP_MIB_RCVBUFERRORS, up->pcflag); |
293 | goto drop; | 295 | goto drop; |
294 | } | 296 | } |
295 | UDP6_INC_STATS_BH(UDP_MIB_INDATAGRAMS, up->pcflag); | 297 | |
296 | return 0; | 298 | return 0; |
297 | drop: | 299 | drop: |
298 | UDP6_INC_STATS_BH(UDP_MIB_INERRORS, up->pcflag); | 300 | UDP6_INC_STATS_BH(UDP_MIB_INERRORS, up->pcflag); |