From fb7b4af02ac09658116e5d3a0686b68d384fa3a8 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 7 Sep 2010 06:26:38 +0000 Subject: main/linux-grsec: add gro support for r8169 --- main/linux-grsec/APKBUILD | 4 ++- main/linux-grsec/r8169-add-gro-support.patch | 52 ++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 main/linux-grsec/r8169-add-gro-support.patch (limited to 'main/linux-grsec') diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD index 34cbe39f6..0abffbba2 100644 --- a/main/linux-grsec/APKBUILD +++ b/main/linux-grsec/APKBUILD @@ -4,7 +4,7 @@ _flavor=grsec pkgname=linux-${_flavor} pkgver=2.6.32.21 _kernver=2.6.32 -pkgrel=1 +pkgrel=2 pkgdesc="Linux kernel with grsecurity" url=http://grsecurity.net depends="mkinitfs linux-firmware" @@ -37,6 +37,7 @@ source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 r8169-fix-random-mdio_write-failures.patch r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch + r8169-add-gro-support.patch hv-grsec.patch kernelconfig.x86 " @@ -172,5 +173,6 @@ c7e606c11c05ff03012b21c3fe0ece47 xfrm-fix-policy-unreferencing-on-larval-drop.p ce4a74190febe13713bab1b886dd5bee r8169-fix-random-mdio_write-failures.patch b41ee19f13498fb25992fd60cd1126d4 r8169-fix-mdio_read-and-update-mdio_write-according-to-hw-specs.patch a1bcf76870b63a4a4035a8948fb758e2 x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch +139b39da44ecb577275be53d7d365949 r8169-add-gro-support.patch bf14850a0036d14bc6177adbdec23a17 hv-grsec.patch ca9c63def600e77ca3cb7e822c239083 kernelconfig.x86" diff --git a/main/linux-grsec/r8169-add-gro-support.patch b/main/linux-grsec/r8169-add-gro-support.patch new file mode 100644 index 000000000..d8ca8d3ad --- /dev/null +++ b/main/linux-grsec/r8169-add-gro-support.patch @@ -0,0 +1,52 @@ +- Use napi_gro_receive() and vlan_gro_receive() +- Enable GRO by default + +Tested on a RTL8111/8168 adapter + +Signed-off-by: Eric Dumazet +CC: Francois Romieu +--- + drivers/net/r8169.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c +index 56a11e2..ddff42b 100644 +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -1076,7 +1076,12 @@ static int rtl8169_rx_vlan_skb(struct rtl8169_private *tp, struct RxDesc *desc, + int ret; + + if (vlgrp && (opts2 & RxVlanTag)) { +- __vlan_hwaccel_rx(skb, vlgrp, swab16(opts2 & 0xffff), polling); ++ u16 vtag = swab16(opts2 & 0xffff); ++ ++ if (polling) ++ vlan_gro_receive(&tp->napi, vlgrp, vtag, skb); ++ else ++ __vlan_hwaccel_rx(skb, vlgrp, vtag, polling); + ret = 0; + } else + ret = -1; +@@ -3186,6 +3191,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) + #ifdef CONFIG_R8169_VLAN + dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; + #endif ++ dev->features |= NETIF_F_GRO; + + tp->intr_mask = 0xffff; + tp->align = cfg->align; +@@ -4561,7 +4567,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev, + + if (rtl8169_rx_vlan_skb(tp, desc, skb, polling) < 0) { + if (likely(polling)) +- netif_receive_skb(skb); ++ napi_gro_receive(&tp->napi, skb); + else + netif_rx(skb); + } + + +-- +To unsubscribe from this list: send the line "unsubscribe netdev" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file -- cgit v1.2.3