提交 e0048402 编写于 作者: D David S. Miller

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

...@@ -738,8 +738,8 @@ rp_filter - INTEGER ...@@ -738,8 +738,8 @@ rp_filter - INTEGER
to prevent IP spoofing from DDos attacks. If using asymmetric routing to prevent IP spoofing from DDos attacks. If using asymmetric routing
or other complicated routing, then loose mode is recommended. or other complicated routing, then loose mode is recommended.
conf/all/rp_filter must also be set to non-zero to do source validation The max value from conf/{all,interface}/rp_filter is used
on the interface when doing source validation on the {interface}.
Default value is 0. Note that some distributions enable it Default value is 0. Note that some distributions enable it
in startup scripts. in startup scripts.
......
...@@ -1664,41 +1664,6 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter, ...@@ -1664,41 +1664,6 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
} }
return 0; return 0;
} }
if (offload_type & SKB_GSO_TCPV6) {
real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data)
+ ntohs(ipv6_hdr(skb)->payload_len));
if (real_len < skb->len)
pskb_trim(skb, real_len);
/* check payload == 0 byte ? */
hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
if (unlikely(skb->len == hdr_len)) {
/* only xsum need */
dev_warn(&pdev->dev,
"IPV6 tso with zero data??\n");
goto check_sum;
} else {
tcp_hdr(skb)->check = ~csum_ipv6_magic(
&ipv6_hdr(skb)->saddr,
&ipv6_hdr(skb)->daddr,
0, IPPROTO_TCP, 0);
tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT;
hdr_len >>= 1;
tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) <<
TPD_V6_IPHLLO_SHIFT;
tpd->word3 |= ((hdr_len >> 3) &
TPD_V6_IPHLHI_MASK) <<
TPD_V6_IPHLHI_SHIFT;
tpd->word3 |= (tcp_hdrlen(skb) >> 2 &
TPD_TCPHDRLEN_MASK) <<
TPD_TCPHDRLEN_SHIFT;
tpd->word3 |= ((skb_shinfo(skb)->gso_size) &
TPD_MSS_MASK) << TPD_MSS_SHIFT;
tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT;
}
}
return 0;
} }
check_sum: check_sum:
...@@ -2287,7 +2252,6 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev) ...@@ -2287,7 +2252,6 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
netdev->features |= NETIF_F_LLTX; netdev->features |= NETIF_F_LLTX;
netdev->features |= NETIF_F_TSO; netdev->features |= NETIF_F_TSO;
netdev->features |= NETIF_F_TSO6;
return 0; return 0;
} }
......
...@@ -8316,6 +8316,7 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev) ...@@ -8316,6 +8316,7 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev)
} }
pci_set_master(pdev); pci_set_master(pdev);
pci_restore_state(pdev); pci_restore_state(pdev);
pci_save_state(pdev);
if (netif_running(dev)) { if (netif_running(dev)) {
bnx2_set_power_state(bp, PCI_D0); bnx2_set_power_state(bp, PCI_D0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册