xref: /openbmc/linux/net/6lowpan/6lowpan_i.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b1815fd9SAlexander Aring #ifndef __6LOWPAN_I_H
3b1815fd9SAlexander Aring #define __6LOWPAN_I_H
4b1815fd9SAlexander Aring 
5b1815fd9SAlexander Aring #include <linux/netdevice.h>
6b1815fd9SAlexander Aring 
727323631SAlexander Aring #include <net/6lowpan.h>
827323631SAlexander Aring 
927323631SAlexander Aring /* caller need to be sure it's dev->type is ARPHRD_6LOWPAN */
1027323631SAlexander Aring static inline bool lowpan_is_ll(const struct net_device *dev,
1127323631SAlexander Aring 				enum lowpan_lltypes lltype)
1227323631SAlexander Aring {
1327323631SAlexander Aring 	return lowpan_dev(dev)->lltype == lltype;
1427323631SAlexander Aring }
1527323631SAlexander Aring 
16bbe5f5ceSAlexander Aring extern const struct ndisc_ops lowpan_ndisc_ops;
17bbe5f5ceSAlexander Aring 
18bbe5f5ceSAlexander Aring int addrconf_ifid_802154_6lowpan(u8 *eui, struct net_device *dev);
19bbe5f5ceSAlexander Aring 
20b1815fd9SAlexander Aring #ifdef CONFIG_6LOWPAN_DEBUGFS
21b1815fd9SAlexander Aring int lowpan_dev_debugfs_init(struct net_device *dev);
22b1815fd9SAlexander Aring void lowpan_dev_debugfs_exit(struct net_device *dev);
23b1815fd9SAlexander Aring 
24b1815fd9SAlexander Aring int __init lowpan_debugfs_init(void);
25b1815fd9SAlexander Aring void lowpan_debugfs_exit(void);
26b1815fd9SAlexander Aring #else
27b1815fd9SAlexander Aring static inline int lowpan_dev_debugfs_init(struct net_device *dev)
28b1815fd9SAlexander Aring {
29b1815fd9SAlexander Aring 	return 0;
30b1815fd9SAlexander Aring }
31b1815fd9SAlexander Aring 
32b1815fd9SAlexander Aring static inline void lowpan_dev_debugfs_exit(struct net_device *dev) { }
33b1815fd9SAlexander Aring 
34b1815fd9SAlexander Aring static inline int __init lowpan_debugfs_init(void)
35b1815fd9SAlexander Aring {
36b1815fd9SAlexander Aring 	return 0;
37b1815fd9SAlexander Aring }
38b1815fd9SAlexander Aring 
39b1815fd9SAlexander Aring static inline void lowpan_debugfs_exit(void) { }
40b1815fd9SAlexander Aring #endif /* CONFIG_6LOWPAN_DEBUGFS */
41b1815fd9SAlexander Aring 
42b1815fd9SAlexander Aring #endif /* __6LOWPAN_I_H */
43