diff options
Diffstat (limited to 'net/802/tr.c')
-rw-r--r-- | net/802/tr.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/802/tr.c b/net/802/tr.c index 96bd144..0ba1946 100644 --- a/net/802/tr.c +++ b/net/802/tr.c @@ -189,11 +189,13 @@ static int tr_rebuild_header(struct sk_buff *skb) __be16 tr_type_trans(struct sk_buff *skb, struct net_device *dev) { - struct trh_hdr *trh=(struct trh_hdr *)skb->data; + struct trh_hdr *trh; struct trllc *trllc; unsigned riflen=0; - skb->mac.raw = skb->data; + skb->dev = dev; + skb_reset_mac_header(skb); + trh = tr_hdr(skb); if(trh->saddr[0] & TR_RII) riflen = (ntohs(trh->rcf) & TR_RCF_LEN_MASK) >> 8; @@ -552,7 +554,8 @@ static int rif_seq_show(struct seq_file *seq, void *v) if(j==1) { segment=ntohs(entry->rseg[j-1])>>4; seq_printf(seq," %03X",segment); - }; + } + segment=ntohs(entry->rseg[j])>>4; brdgnmb=ntohs(entry->rseg[j-1])&0x00f; seq_printf(seq,"-%01X-%03X",brdgnmb,segment); |