xref: /linux/include/uapi/linux/seg6_hmac.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2bf355b8dSDavid Lebrun #ifndef _UAPI_LINUX_SEG6_HMAC_H
3bf355b8dSDavid Lebrun #define _UAPI_LINUX_SEG6_HMAC_H
4bf355b8dSDavid Lebrun 
5a50a05f4SDavid Lebrun #include <linux/types.h>
6bf355b8dSDavid Lebrun #include <linux/seg6.h>
7bf355b8dSDavid Lebrun 
8bf355b8dSDavid Lebrun #define SEG6_HMAC_SECRET_LEN	64
9bf355b8dSDavid Lebrun #define SEG6_HMAC_FIELD_LEN	32
10bf355b8dSDavid Lebrun 
11bf355b8dSDavid Lebrun struct sr6_tlv_hmac {
12bf355b8dSDavid Lebrun 	struct sr6_tlv tlvhdr;
13bf355b8dSDavid Lebrun 	__u16 reserved;
14bf355b8dSDavid Lebrun 	__be32 hmackeyid;
15bf355b8dSDavid Lebrun 	__u8 hmac[SEG6_HMAC_FIELD_LEN];
16bf355b8dSDavid Lebrun };
17bf355b8dSDavid Lebrun 
18bf355b8dSDavid Lebrun enum {
19bf355b8dSDavid Lebrun 	SEG6_HMAC_ALGO_SHA1 = 1,
20bf355b8dSDavid Lebrun 	SEG6_HMAC_ALGO_SHA256 = 2,
21bf355b8dSDavid Lebrun };
22bf355b8dSDavid Lebrun 
23bf355b8dSDavid Lebrun #endif
24