18610c7c6SAlexander Aring /* SPDX-License-Identifier: GPL-2.0-or-later */ 28610c7c6SAlexander Aring /* 38610c7c6SAlexander Aring * RPL implementation 48610c7c6SAlexander Aring * 58610c7c6SAlexander Aring * Author: 68610c7c6SAlexander Aring * (C) 2020 Alexander Aring <alex.aring@gmail.com> 78610c7c6SAlexander Aring */ 88610c7c6SAlexander Aring 98610c7c6SAlexander Aring #ifndef _NET_RPL_H 108610c7c6SAlexander Aring #define _NET_RPL_H 118610c7c6SAlexander Aring 128610c7c6SAlexander Aring #include <linux/rpl.h> 138610c7c6SAlexander Aring 14*a7a29f9cSAlexander Aring #if IS_ENABLED(CONFIG_IPV6_RPL_LWTUNNEL) 15*a7a29f9cSAlexander Aring extern int rpl_init(void); 16*a7a29f9cSAlexander Aring extern void rpl_exit(void); 17*a7a29f9cSAlexander Aring #else rpl_init(void)18*a7a29f9cSAlexander Aringstatic inline int rpl_init(void) 19*a7a29f9cSAlexander Aring { 20*a7a29f9cSAlexander Aring return 0; 21*a7a29f9cSAlexander Aring } 22*a7a29f9cSAlexander Aring rpl_exit(void)23*a7a29f9cSAlexander Aringstatic inline void rpl_exit(void) {} 24*a7a29f9cSAlexander Aring #endif 25*a7a29f9cSAlexander Aring 268610c7c6SAlexander Aring void ipv6_rpl_srh_decompress(struct ipv6_rpl_sr_hdr *outhdr, 278610c7c6SAlexander Aring const struct ipv6_rpl_sr_hdr *inhdr, 288610c7c6SAlexander Aring const struct in6_addr *daddr, unsigned char n); 298610c7c6SAlexander Aring 308610c7c6SAlexander Aring void ipv6_rpl_srh_compress(struct ipv6_rpl_sr_hdr *outhdr, 318610c7c6SAlexander Aring const struct ipv6_rpl_sr_hdr *inhdr, 328610c7c6SAlexander Aring const struct in6_addr *daddr, unsigned char n); 338610c7c6SAlexander Aring 348610c7c6SAlexander Aring #endif /* _NET_RPL_H */ 358610c7c6SAlexander Aring