1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

improve routing/nat performance for devices using the marvell 88e6060 switch

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13060 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2008-10-28 17:54:22 +00:00
parent b6288db05c
commit 594d20c1a4
5 changed files with 89 additions and 10 deletions

View File

@@ -338,6 +338,7 @@ mvswitch_config_init(struct phy_device *pdev)
);
/* hook into the tx function */
pdev->pkt_align = 2;
priv->hardstart = dev->hard_start_xmit;
pdev->netif_receive_skb = mvswitch_netif_receive_skb;
pdev->netif_rx = mvswitch_netif_rx;

View File

@@ -30,7 +30,7 @@
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -309,6 +309,17 @@
@@ -309,6 +309,20 @@
void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev);
@@ -45,6 +45,9 @@
+ */
+ int (*netif_receive_skb)(struct sk_buff *skb);
+ int (*netif_rx)(struct sk_buff *skb);
+
+ /* alignment offset for packets */
+ int pkt_align;
};
#define to_phy_device(d) container_of(d, struct phy_device, dev)

View File

@@ -1,6 +1,6 @@
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -143,6 +143,18 @@ int phy_scan_fixups(struct phy_device *p
@@ -143,6 +143,18 @@
}
EXPORT_SYMBOL(phy_scan_fixups);
@@ -19,7 +19,7 @@
struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
{
struct phy_device *dev;
@@ -168,6 +180,8 @@ struct phy_device* phy_device_create(str
@@ -168,6 +180,8 @@
dev->bus = bus;
dev->state = PHY_DOWN;
@@ -30,7 +30,7 @@
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -309,6 +309,17 @@ struct phy_device {
@@ -309,6 +309,20 @@
void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev);
@@ -45,12 +45,15 @@
+ */
+ int (*netif_receive_skb)(struct sk_buff *skb);
+ int (*netif_rx)(struct sk_buff *skb);
+
+ /* alignment offset for packets */
+ int pkt_align;
};
#define to_phy_device(d) container_of(d, struct phy_device, dev)
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -613,6 +613,7 @@ struct net_device
@@ -613,6 +613,7 @@
void *ax25_ptr; /* AX.25 specific data */
struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data,
assign before registering */