eth_header
.create = eth_header,
struct _rule_hw *eth_header)
if (is_multicast_ether_addr(eth_header->eth.dst_mac) ||
is_broadcast_ether_addr(eth_header->eth.dst_mac)) {
(struct mlx4_net_trans_rule_hw_eth *)eth_header;
static int validate_eth_header_mac(int slave, struct _rule_hw *eth_header,
if (!is_multicast_ether_addr(eth_header->eth.dst_mac) &&
!is_broadcast_ether_addr(eth_header->eth.dst_mac)) {
if (ether_addr_equal((u8 *)&be_mac, eth_header->eth.dst_mac))
eth_header->eth.dst_mac, slave);
struct mlx4_net_trans_rule_hw_eth *eth_header;
eth_header = (struct mlx4_net_trans_rule_hw_eth *)(ctrl + 1);
(struct mlx4_net_trans_rule_hw_ipv4 *)(eth_header + 1);
memmove(ip_header, eth_header,
(eth_header + 1);
memmove(l4_header, eth_header, sizeof(*l4_header));
memset(eth_header, 0, sizeof(*eth_header));
eth_header->size = sizeof(*eth_header) >> 2;
eth_header->id = cpu_to_be16(__sw_id_hw[MLX4_NET_TRANS_RULE_ID_ETH]);
memcpy(eth_header->dst_mac, &be_mac, ETH_ALEN);
memcpy(eth_header->dst_mac_msk, &mac_msk, ETH_ALEN);
ret = eth_header(skb, dev, type, daddr, saddr, len);
int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
struct _rule_hw *eth_header);
EXPORT_SYMBOL(eth_header);
.create = eth_header,
.create = eth_header,
eth_header(skb, skb->dev, ntohs(eh.h_proto), eh.h_source, eh.h_dest, 0);
eth_header(skb, skb->dev, ntohs(eh.h_proto), eh.h_source, eh.h_dest, 0);
static void pkt_dump(void *pkt, u32 len, bool eth_header)
if (eth_header) {