Lines Matching refs:eth
83 struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN); in eth_header() local
86 eth->h_proto = htons(type); in eth_header()
88 eth->h_proto = htons(len); in eth_header()
96 memcpy(eth->h_source, saddr, ETH_ALEN); in eth_header()
99 memcpy(eth->h_dest, daddr, ETH_ALEN); in eth_header()
108 eth_zero_addr(eth->h_dest); in eth_header()
126 const struct ethhdr *eth = (const struct ethhdr *)data; in eth_get_headlen() local
130 if (unlikely(len < sizeof(*eth))) in eth_get_headlen()
134 if (!skb_flow_dissect_flow_keys_buf(&keys, data, eth->h_proto, in eth_get_headlen()
135 sizeof(*eth), len, 0)) in eth_get_headlen()
136 return max_t(u32, keys.control.thoff, sizeof(*eth)); in eth_get_headlen()
156 const struct ethhdr *eth; in eth_type_trans() local
161 eth = (struct ethhdr *)skb->data; in eth_type_trans()
164 if (unlikely(is_multicast_ether_addr_64bits(eth->h_dest))) { in eth_type_trans()
165 if (ether_addr_equal_64bits(eth->h_dest, dev->broadcast)) in eth_type_trans()
170 else if (unlikely(!ether_addr_equal_64bits(eth->h_dest, in eth_type_trans()
183 if (likely(eth_proto_is_802_3(eth->h_proto))) in eth_type_trans()
184 return eth->h_proto; in eth_type_trans()
210 const struct ethhdr *eth = eth_hdr(skb); in eth_header_parse() local
211 memcpy(haddr, eth->h_source, ETH_ALEN); in eth_header_parse()
226 struct ethhdr *eth; in eth_header_cache() local
229 eth = (struct ethhdr *) in eth_header_cache()
230 (((u8 *) hh->hh_data) + (HH_DATA_OFF(sizeof(*eth)))); in eth_header_cache()
235 eth->h_proto = type; in eth_header_cache()
236 memcpy(eth->h_source, dev->dev_addr, ETH_ALEN); in eth_header_cache()
237 memcpy(eth->h_dest, neigh->ha, ETH_ALEN); in eth_header_cache()