patch-1.3.96 linux/net/core/dev.c
Next file: linux/net/core/iovec.c
Previous file: linux/net/bridge/br.c
Back to the patch index
Back to the overall index
- Lines: 35
- Date:
Fri Apr 26 10:42:05 1996
- Orig file:
v1.3.95/linux/net/core/dev.c
- Orig date:
Wed Apr 10 17:02:27 1996
diff -u --recursive --new-file v1.3.95/linux/net/core/dev.c linux/net/core/dev.c
@@ -605,9 +605,21 @@
if (br_stats.flags & BR_UP)
{
+ /*
+ * We pass the bridge a complete frame. This means
+ * recovering the MAC header first.
+ */
+
+ int offset=skb->data-skb->mac.raw;
cli();
+ skb_push(skb,offset); /* Put header back on for bridge */
if(br_receive_frame(skb))
continue;
+ /*
+ * Pull the MAC header off for the copy going to
+ * the upper layers.
+ */
+ skb_pull(skb,offset);
sti();
}
#endif
@@ -621,9 +633,9 @@
skb->h.raw = skb->data;
- /*
- * Fetch the packet protocol ID.
- */
+ /*
+ * Fetch the packet protocol ID.
+ */
type = skb->protocol;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this