Lines Matching refs:tlv
86 struct sr6_tlv_hmac *tlv; in seg6_get_tlv_hmac() local
94 tlv = (struct sr6_tlv_hmac *) in seg6_get_tlv_hmac()
97 if (tlv->tlvhdr.type != SR6_TLV_HMAC || tlv->tlvhdr.len != 38) in seg6_get_tlv_hmac()
100 return tlv; in seg6_get_tlv_hmac()
241 struct sr6_tlv_hmac *tlv; in seg6_hmac_validate_skb() local
249 tlv = seg6_get_tlv_hmac(srh); in seg6_hmac_validate_skb()
252 if (idev->cnf.seg6_require_hmac > 0 && !tlv) in seg6_hmac_validate_skb()
260 if (idev->cnf.seg6_require_hmac == 0 && !tlv) in seg6_hmac_validate_skb()
265 hinfo = seg6_hmac_info_lookup(net, be32_to_cpu(tlv->hmackeyid)); in seg6_hmac_validate_skb()
272 if (memcmp(hmac_output, tlv->hmac, SEG6_HMAC_FIELD_LEN) != 0) in seg6_hmac_validate_skb()
329 struct sr6_tlv_hmac *tlv; in seg6_push_hmac() local
332 tlv = seg6_get_tlv_hmac(srh); in seg6_push_hmac()
333 if (!tlv) in seg6_push_hmac()
338 hinfo = seg6_hmac_info_lookup(net, be32_to_cpu(tlv->hmackeyid)); in seg6_push_hmac()
342 memset(tlv->hmac, 0, SEG6_HMAC_FIELD_LEN); in seg6_push_hmac()
343 err = seg6_hmac_compute(hinfo, srh, saddr, tlv->hmac); in seg6_push_hmac()