brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · edc138b Raw
81 lines · c
1/*2 *  SR-IPv6 implementation3 *4 *  Author:5 *  David Lebrun <david.lebrun@uclouvain.be>6 *7 *8 *  This program is free software; you can redistribute it and/or9 *      modify it under the terms of the GNU General Public License10 *      as published by the Free Software Foundation; either version11 *      2 of the License, or (at your option) any later version.12 */13 14#ifndef _UAPI_LINUX_SEG6_LOCAL_H15#define _UAPI_LINUX_SEG6_LOCAL_H16 17#include <linux/seg6.h>18 19enum {20	SEG6_LOCAL_UNSPEC,21	SEG6_LOCAL_ACTION,22	SEG6_LOCAL_SRH,23	SEG6_LOCAL_TABLE,24	SEG6_LOCAL_NH4,25	SEG6_LOCAL_NH6,26	SEG6_LOCAL_IIF,27	SEG6_LOCAL_OIF,28	SEG6_LOCAL_BPF,29	__SEG6_LOCAL_MAX,30};31#define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1)32 33enum {34	SEG6_LOCAL_ACTION_UNSPEC	= 0,35	/* node segment */36	SEG6_LOCAL_ACTION_END		= 1,37	/* adjacency segment (IPv6 cross-connect) */38	SEG6_LOCAL_ACTION_END_X		= 2,39	/* lookup of next seg NH in table */40	SEG6_LOCAL_ACTION_END_T		= 3,41	/* decap and L2 cross-connect */42	SEG6_LOCAL_ACTION_END_DX2	= 4,43	/* decap and IPv6 cross-connect */44	SEG6_LOCAL_ACTION_END_DX6	= 5,45	/* decap and IPv4 cross-connect */46	SEG6_LOCAL_ACTION_END_DX4	= 6,47	/* decap and lookup of DA in v6 table */48	SEG6_LOCAL_ACTION_END_DT6	= 7,49	/* decap and lookup of DA in v4 table */50	SEG6_LOCAL_ACTION_END_DT4	= 8,51	/* binding segment with insertion */52	SEG6_LOCAL_ACTION_END_B6	= 9,53	/* binding segment with encapsulation */54	SEG6_LOCAL_ACTION_END_B6_ENCAP	= 10,55	/* binding segment with MPLS encap */56	SEG6_LOCAL_ACTION_END_BM	= 11,57	/* lookup last seg in table */58	SEG6_LOCAL_ACTION_END_S		= 12,59	/* forward to SR-unaware VNF with static proxy */60	SEG6_LOCAL_ACTION_END_AS	= 13,61	/* forward to SR-unaware VNF with masquerading */62	SEG6_LOCAL_ACTION_END_AM	= 14,63	/* custom BPF action */64	SEG6_LOCAL_ACTION_END_BPF	= 15,65 66	__SEG6_LOCAL_ACTION_MAX,67};68 69#define SEG6_LOCAL_ACTION_MAX (__SEG6_LOCAL_ACTION_MAX - 1)70 71enum {72	SEG6_LOCAL_BPF_PROG_UNSPEC,73	SEG6_LOCAL_BPF_PROG,74	SEG6_LOCAL_BPF_PROG_NAME,75	__SEG6_LOCAL_BPF_PROG_MAX,76};77 78#define SEG6_LOCAL_BPF_PROG_MAX (__SEG6_LOCAL_BPF_PROG_MAX - 1)79 80#endif81