Lines Matching refs:hh
157 struct hh_cache hh;
476 static inline int neigh_hh_bridge(struct hh_cache *hh, struct sk_buff *skb)
481 seq = read_seqbegin(&hh->hh_lock);
483 memcpy(skb->data - hh_alen, hh->hh_data, ETH_ALEN + hh_alen - ETH_HLEN);
484 } while (read_seqretry(&hh->hh_lock, seq));
489 static inline int neigh_hh_output(const struct hh_cache *hh, struct sk_buff *skb)
496 seq = read_seqbegin(&hh->hh_lock);
497 hh_len = READ_ONCE(hh->hh_len);
507 memcpy(skb->data - HH_DATA_MOD, hh->hh_data,
514 memcpy(skb->data - hh_alen, hh->hh_data,
518 } while (read_seqretry(&hh->hh_lock, seq));
532 const struct hh_cache *hh = &n->hh;
534 /* n->nud_state and hh->hh_len could be changed under us.
539 READ_ONCE(hh->hh_len))
540 return neigh_hh_output(hh, skb);