Lines Matching refs:tlv
93 struct sr6_tlv_hmac *tlv; in seg6_get_tlv_hmac() local
101 tlv = (struct sr6_tlv_hmac *) in seg6_get_tlv_hmac()
104 if (tlv->tlvhdr.type != SR6_TLV_HMAC || tlv->tlvhdr.len != 38) in seg6_get_tlv_hmac()
107 return tlv; in seg6_get_tlv_hmac()
248 struct sr6_tlv_hmac *tlv; in seg6_hmac_validate_skb() local
256 tlv = seg6_get_tlv_hmac(srh); in seg6_hmac_validate_skb()
259 if (idev->cnf.seg6_require_hmac > 0 && !tlv) in seg6_hmac_validate_skb()
267 if (idev->cnf.seg6_require_hmac == 0 && !tlv) in seg6_hmac_validate_skb()
272 hinfo = seg6_hmac_info_lookup(net, be32_to_cpu(tlv->hmackeyid)); in seg6_hmac_validate_skb()
279 if (memcmp(hmac_output, tlv->hmac, SEG6_HMAC_FIELD_LEN) != 0) in seg6_hmac_validate_skb()
336 struct sr6_tlv_hmac *tlv; in seg6_push_hmac() local
339 tlv = seg6_get_tlv_hmac(srh); in seg6_push_hmac()
340 if (!tlv) in seg6_push_hmac()
345 hinfo = seg6_hmac_info_lookup(net, be32_to_cpu(tlv->hmackeyid)); in seg6_push_hmac()
349 memset(tlv->hmac, 0, SEG6_HMAC_FIELD_LEN); in seg6_push_hmac()
350 err = seg6_hmac_compute(hinfo, srh, saddr, tlv->hmac); in seg6_push_hmac()