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