Driver/snull/snull_header()

Last-modified: 2007-09-11 (火) 13:34:35

587 :int snull_header(struct sk_buff *skb, struct net_device *dev,
588 : unsigned short type, void *daddr, void *saddr,
589 : unsigned int len)
590 :{
591 : struct ethhdr *eth = (struct ethhdr *)skb_push(skb,ETH_HLEN);

skbをローカルにコピーする

592 :
593 : eth->h_proto = htons(type);
594 : memcpy(eth->h_source, saddr ? saddr : dev->dev_addr, dev->addr_len);
595 : memcpy(eth->h_dest, daddr ? daddr : dev->dev_addr, dev->addr_len);
596 : eth->h_dest[ETH_ALEN-1] ^= 0x01; /* dest is us xor 1 */
597 : return (dev->hard_header_len);
598 :}