Home | History | Annotate | Download | only in linux
      1 /*
      2  *  SR-IPv6 implementation
      3  *
      4  *  Author:
      5  *  David Lebrun <david.lebrun (at) uclouvain.be>
      6  *
      7  *
      8  *  This program is free software; you can redistribute it and/or
      9  *      modify it under the terms of the GNU General Public License
     10  *      as published by the Free Software Foundation; either version
     11  *      2 of the License, or (at your option) any later version.
     12  */
     13 
     14 #ifndef _LINUX_SEG6_LOCAL_H
     15 #define _LINUX_SEG6_LOCAL_H
     16 
     17 #include <linux/seg6.h>
     18 
     19 enum {
     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_MAX,
     29 };
     30 #define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1)
     31 
     32 enum {
     33 	SEG6_LOCAL_ACTION_UNSPEC	= 0,
     34 	/* node segment */
     35 	SEG6_LOCAL_ACTION_END		= 1,
     36 	/* adjacency segment (IPv6 cross-connect) */
     37 	SEG6_LOCAL_ACTION_END_X		= 2,
     38 	/* lookup of next seg NH in table */
     39 	SEG6_LOCAL_ACTION_END_T		= 3,
     40 	/* decap and L2 cross-connect */
     41 	SEG6_LOCAL_ACTION_END_DX2	= 4,
     42 	/* decap and IPv6 cross-connect */
     43 	SEG6_LOCAL_ACTION_END_DX6	= 5,
     44 	/* decap and IPv4 cross-connect */
     45 	SEG6_LOCAL_ACTION_END_DX4	= 6,
     46 	/* decap and lookup of DA in v6 table */
     47 	SEG6_LOCAL_ACTION_END_DT6	= 7,
     48 	/* decap and lookup of DA in v4 table */
     49 	SEG6_LOCAL_ACTION_END_DT4	= 8,
     50 	/* binding segment with insertion */
     51 	SEG6_LOCAL_ACTION_END_B6	= 9,
     52 	/* binding segment with encapsulation */
     53 	SEG6_LOCAL_ACTION_END_B6_ENCAP	= 10,
     54 	/* binding segment with MPLS encap */
     55 	SEG6_LOCAL_ACTION_END_BM	= 11,
     56 	/* lookup last seg in table */
     57 	SEG6_LOCAL_ACTION_END_S		= 12,
     58 	/* forward to SR-unaware VNF with static proxy */
     59 	SEG6_LOCAL_ACTION_END_AS	= 13,
     60 	/* forward to SR-unaware VNF with masquerading */
     61 	SEG6_LOCAL_ACTION_END_AM	= 14,
     62 
     63 	__SEG6_LOCAL_ACTION_MAX,
     64 };
     65 
     66 #define SEG6_LOCAL_ACTION_MAX (__SEG6_LOCAL_ACTION_MAX - 1)
     67 
     68 #endif
     69