15b497af4SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2e3e4712eSRoopa Prabhu /* 3e3e4712eSRoopa Prabhu * Copyright (c) 2015 Cumulus Networks, Inc. 4e3e4712eSRoopa Prabhu */ 5e3e4712eSRoopa Prabhu 6e3e4712eSRoopa Prabhu #ifndef _NET_MPLS_IPTUNNEL_H 7e3e4712eSRoopa Prabhu #define _NET_MPLS_IPTUNNEL_H 1 8e3e4712eSRoopa Prabhu 9e3e4712eSRoopa Prabhu struct mpls_iptunnel_encap { 10f8efb73cSRoopa Prabhu u8 labels; 11a59166e4SRobert Shearman u8 ttl_propagate; 12a59166e4SRobert Shearman u8 default_ttl; 131511009cSDavid Ahern u8 reserved1; 14*680a9316SGustavo A. R. Silva u32 label[]; 15e3e4712eSRoopa Prabhu }; 16e3e4712eSRoopa Prabhu 17e3e4712eSRoopa Prabhu static inline struct mpls_iptunnel_encap *mpls_lwtunnel_encap(struct lwtunnel_state *lwtstate) 18e3e4712eSRoopa Prabhu { 19e3e4712eSRoopa Prabhu return (struct mpls_iptunnel_encap *)lwtstate->data; 20e3e4712eSRoopa Prabhu } 21e3e4712eSRoopa Prabhu 22e3e4712eSRoopa Prabhu #endif 23