eth.c (f576e24ffaf2c6b01af389e3bad3342681a8b84f) eth.c (4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * Ethernet-type device handling.
7 *
8 * Version: @(#)eth.c 1.0.7 05/25/93

--- 142 unchanged lines hidden (view full) ---

151 * assume 802.3 if the type field is short enough to be a length.
152 * This is normal practice and works for any 'now in use' protocol.
153 */
154__be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
155{
156 struct ethhdr *eth;
157 unsigned char *rawp;
158
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * Ethernet-type device handling.
7 *
8 * Version: @(#)eth.c 1.0.7 05/25/93

--- 142 unchanged lines hidden (view full) ---

151 * assume 802.3 if the type field is short enough to be a length.
152 * This is normal practice and works for any 'now in use' protocol.
153 */
154__be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
155{
156 struct ethhdr *eth;
157 unsigned char *rawp;
158
159 skb->dev = dev;
159 skb->mac.raw = skb->data;
160 skb_pull(skb, ETH_HLEN);
161 eth = eth_hdr(skb);
162
163 if (is_multicast_ether_addr(eth->h_dest)) {
164 if (!compare_ether_addr(eth->h_dest, dev->broadcast))
165 skb->pkt_type = PACKET_BROADCAST;
166 else

--- 168 unchanged lines hidden ---
160 skb->mac.raw = skb->data;
161 skb_pull(skb, ETH_HLEN);
162 eth = eth_hdr(skb);
163
164 if (is_multicast_ether_addr(eth->h_dest)) {
165 if (!compare_ether_addr(eth->h_dest, dev->broadcast))
166 skb->pkt_type = PACKET_BROADCAST;
167 else

--- 168 unchanged lines hidden ---