diff options
| -rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 7 | ||||
| -rw-r--r-- | drivers/net/hyperv/hyperv_net.h | 2 | ||||
| -rw-r--r-- | drivers/net/usb/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/net/vmxnet3/vmxnet3_drv.c | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/Kconfig | 1 | ||||
| -rw-r--r-- | include/net/sock.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/in6.h | 2 | ||||
| -rw-r--r-- | net/ipv4/tcp.c | 12 | ||||
| -rw-r--r-- | net/ipv4/tcp_ipv4.c | 36 | ||||
| -rw-r--r-- | net/ipv4/tcp_offload.c | 8 | ||||
| -rw-r--r-- | net/ipv6/tcp_ipv6.c | 25 | ||||
| -rw-r--r-- | net/netlink/af_netlink.c | 1 | ||||
| -rw-r--r-- | net/netlink/af_netlink.h | 1 | ||||
| -rw-r--r-- | net/netlink/diag.c | 3 | ||||
| -rw-r--r-- | net/socket.c | 20 |
15 files changed, 86 insertions, 44 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c index 4247356c16ff..1a162d21d8ac 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | |||
| @@ -6527,11 +6527,9 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
| 6527 | 6527 | ||
| 6528 | /* We control everything through one PF */ | 6528 | /* We control everything through one PF */ |
| 6529 | func = SOURCEPF_GET(readl(adapter->regs + PL_WHOAMI)); | 6529 | func = SOURCEPF_GET(readl(adapter->regs + PL_WHOAMI)); |
| 6530 | if ((pdev->device == 0xa000 && func != 0) || | 6530 | if (func != ent->driver_data) { |
| 6531 | func != ent->driver_data) { | ||
| 6532 | pci_save_state(pdev); /* to restore SR-IOV later */ | 6531 | pci_save_state(pdev); /* to restore SR-IOV later */ |
| 6533 | err = 0; | 6532 | goto sriov; |
| 6534 | goto out_unmap_bar0; | ||
| 6535 | } | 6533 | } |
| 6536 | 6534 | ||
| 6537 | adapter->pdev = pdev; | 6535 | adapter->pdev = pdev; |
| @@ -6697,6 +6695,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
| 6697 | if (is_offload(adapter)) | 6695 | if (is_offload(adapter)) |
| 6698 | attach_ulds(adapter); | 6696 | attach_ulds(adapter); |
| 6699 | 6697 | ||
| 6698 | sriov: | ||
| 6700 | #ifdef CONFIG_PCI_IOV | 6699 | #ifdef CONFIG_PCI_IOV |
| 6701 | if (func < ARRAY_SIZE(num_vf) && num_vf[func] > 0) | 6700 | if (func < ARRAY_SIZE(num_vf) && num_vf[func] > 0) |
| 6702 | if (pci_enable_sriov(pdev, num_vf[func]) == 0) | 6701 | if (pci_enable_sriov(pdev, num_vf[func]) == 0) |
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index 02a3ee282eee..d5e07def6a59 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h | |||
| @@ -585,7 +585,7 @@ struct nvsp_message { | |||
| 585 | 585 | ||
| 586 | #define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*16) /* 16MB */ | 586 | #define NETVSC_RECEIVE_BUFFER_SIZE (1024*1024*16) /* 16MB */ |
| 587 | #define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY (1024*1024*15) /* 15MB */ | 587 | #define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY (1024*1024*15) /* 15MB */ |
| 588 | #define NETVSC_SEND_BUFFER_SIZE (1024 * 1024 * 16) /* 16MB */ | 588 | #define NETVSC_SEND_BUFFER_SIZE (1024 * 1024 * 15) /* 15MB */ |
| 589 | #define NETVSC_INVALID_INDEX -1 | 589 | #define NETVSC_INVALID_INDEX -1 |
| 590 | 590 | ||
| 591 | 591 | ||
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index 9f194a0bef7c..37eed4d84e9c 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig | |||
| @@ -5,8 +5,8 @@ comment "Host-side USB support is needed for USB Network Adapter support" | |||
| 5 | depends on !USB && NET | 5 | depends on !USB && NET |
| 6 | 6 | ||
| 7 | menuconfig USB_NET_DRIVERS | 7 | menuconfig USB_NET_DRIVERS |
| 8 | bool "USB Network Adapters" | 8 | tristate "USB Network Adapters" |
| 9 | default y | 9 | default USB if USB |
| 10 | depends on USB && NET | 10 | depends on USB && NET |
| 11 | 11 | ||
| 12 | if USB_NET_DRIVERS | 12 | if USB_NET_DRIVERS |
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index b76f7dcde0db..d0db371c30a7 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c | |||
| @@ -766,7 +766,7 @@ vmxnet3_map_pkt(struct sk_buff *skb, struct vmxnet3_tx_ctx *ctx, | |||
| 766 | gdesc->dword[3] = 0; | 766 | gdesc->dword[3] = 0; |
| 767 | 767 | ||
| 768 | netdev_dbg(adapter->netdev, | 768 | netdev_dbg(adapter->netdev, |
| 769 | "txd[%u]: 0x%llu %u %u\n", | 769 | "txd[%u]: 0x%llx %u %u\n", |
| 770 | tq->tx_ring.next2fill, le64_to_cpu(gdesc->txd.addr), | 770 | tq->tx_ring.next2fill, le64_to_cpu(gdesc->txd.addr), |
| 771 | le32_to_cpu(gdesc->dword[2]), gdesc->dword[3]); | 771 | le32_to_cpu(gdesc->dword[2]), gdesc->dword[3]); |
| 772 | vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring); | 772 | vmxnet3_cmd_ring_adv_next2fill(&tq->tx_ring); |
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index b2137e8f7ca6..16604bdf5197 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig | |||
| @@ -189,6 +189,7 @@ config USB_NET_RNDIS_WLAN | |||
| 189 | tristate "Wireless RNDIS USB support" | 189 | tristate "Wireless RNDIS USB support" |
| 190 | depends on USB | 190 | depends on USB |
| 191 | depends on CFG80211 | 191 | depends on CFG80211 |
| 192 | select USB_NET_DRIVERS | ||
| 192 | select USB_USBNET | 193 | select USB_USBNET |
| 193 | select USB_NET_CDCETHER | 194 | select USB_NET_CDCETHER |
| 194 | select USB_NET_RNDIS_HOST | 195 | select USB_NET_RNDIS_HOST |
diff --git a/include/net/sock.h b/include/net/sock.h index 52fe0bc5598a..38805fa02e48 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -2199,9 +2199,11 @@ static inline void sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk, | |||
| 2199 | /** | 2199 | /** |
| 2200 | * sock_tx_timestamp - checks whether the outgoing packet is to be time stamped | 2200 | * sock_tx_timestamp - checks whether the outgoing packet is to be time stamped |
| 2201 | * @sk: socket sending this packet | 2201 | * @sk: socket sending this packet |
| 2202 | * @tx_flags: filled with instructions for time stamping | 2202 | * @tx_flags: completed with instructions for time stamping |
| 2203 | * | ||
| 2204 | * Note : callers should take care of initial *tx_flags value (usually 0) | ||
| 2203 | */ | 2205 | */ |
| 2204 | void sock_tx_timestamp(struct sock *sk, __u8 *tx_flags); | 2206 | void sock_tx_timestamp(const struct sock *sk, __u8 *tx_flags); |
| 2205 | 2207 | ||
| 2206 | /** | 2208 | /** |
| 2207 | * sk_eat_skb - Release a skb if it is no longer needed | 2209 | * sk_eat_skb - Release a skb if it is no longer needed |
diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h index 22b7a69619d8..74a2a1773494 100644 --- a/include/uapi/linux/in6.h +++ b/include/uapi/linux/in6.h | |||
| @@ -233,7 +233,6 @@ struct in6_flowlabel_req { | |||
| 233 | #if 0 /* not yet */ | 233 | #if 0 /* not yet */ |
| 234 | #define IPV6_USE_MIN_MTU 63 | 234 | #define IPV6_USE_MIN_MTU 63 |
| 235 | #endif | 235 | #endif |
| 236 | #define IPV6_AUTOFLOWLABEL 64 | ||
| 237 | 236 | ||
| 238 | /* | 237 | /* |
| 239 | * Netfilter (1) | 238 | * Netfilter (1) |
| @@ -262,6 +261,7 @@ struct in6_flowlabel_req { | |||
| 262 | * IP6T_SO_ORIGINAL_DST 80 | 261 | * IP6T_SO_ORIGINAL_DST 80 |
| 263 | */ | 262 | */ |
| 264 | 263 | ||
| 264 | #define IPV6_AUTOFLOWLABEL 70 | ||
| 265 | /* RFC5014: Source address selection */ | 265 | /* RFC5014: Source address selection */ |
| 266 | #define IPV6_ADDR_PREFERENCES 72 | 266 | #define IPV6_ADDR_PREFERENCES 72 |
| 267 | 267 | ||
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 744af67a5989..181b70ebd964 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
| @@ -426,13 +426,15 @@ void tcp_init_sock(struct sock *sk) | |||
| 426 | } | 426 | } |
| 427 | EXPORT_SYMBOL(tcp_init_sock); | 427 | EXPORT_SYMBOL(tcp_init_sock); |
| 428 | 428 | ||
| 429 | void tcp_tx_timestamp(struct sock *sk, struct sk_buff *skb) | 429 | static void tcp_tx_timestamp(struct sock *sk, struct sk_buff *skb) |
| 430 | { | 430 | { |
| 431 | struct skb_shared_info *shinfo = skb_shinfo(skb); | 431 | if (sk->sk_tsflags) { |
| 432 | struct skb_shared_info *shinfo = skb_shinfo(skb); | ||
| 432 | 433 | ||
| 433 | sock_tx_timestamp(sk, &shinfo->tx_flags); | 434 | sock_tx_timestamp(sk, &shinfo->tx_flags); |
| 434 | if (shinfo->tx_flags & SKBTX_ANY_SW_TSTAMP) | 435 | if (shinfo->tx_flags & SKBTX_ANY_TSTAMP) |
| 435 | shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1; | 436 | shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1; |
| 437 | } | ||
| 436 | } | 438 | } |
| 437 | 439 | ||
| 438 | /* | 440 | /* |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 992a1f926009..dceff5fe8e66 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
| @@ -1167,7 +1167,8 @@ clear_hash_noput: | |||
| 1167 | } | 1167 | } |
| 1168 | EXPORT_SYMBOL(tcp_v4_md5_hash_skb); | 1168 | EXPORT_SYMBOL(tcp_v4_md5_hash_skb); |
| 1169 | 1169 | ||
| 1170 | static bool tcp_v4_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb) | 1170 | static bool __tcp_v4_inbound_md5_hash(struct sock *sk, |
| 1171 | const struct sk_buff *skb) | ||
| 1171 | { | 1172 | { |
| 1172 | /* | 1173 | /* |
| 1173 | * This gets called for each TCP segment that arrives | 1174 | * This gets called for each TCP segment that arrives |
| @@ -1220,6 +1221,17 @@ static bool tcp_v4_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb) | |||
| 1220 | return false; | 1221 | return false; |
| 1221 | } | 1222 | } |
| 1222 | 1223 | ||
| 1224 | static bool tcp_v4_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb) | ||
| 1225 | { | ||
| 1226 | bool ret; | ||
| 1227 | |||
| 1228 | rcu_read_lock(); | ||
| 1229 | ret = __tcp_v4_inbound_md5_hash(sk, skb); | ||
| 1230 | rcu_read_unlock(); | ||
| 1231 | |||
