Whamcloud - gitweb
LU-10153 lnet: remove route add restriction
[fs/lustre-release.git] / lnet / include / lnet / lib-lnet.h
index aeb0e4b..0ef75c2 100644 (file)
@@ -37,6 +37,9 @@
 #ifndef __LNET_LIB_LNET_H__
 #define __LNET_LIB_LNET_H__
 
+/* LNET has 0xeXXX */
+#define CFS_FAIL_PTLRPC_OST_BULK_CB2   0xe000
+
 #ifndef __KERNEL__
 # error This include is only for kernel use.
 #endif
@@ -77,6 +80,18 @@ extern struct lnet the_lnet;                 /* THE network */
 #define DEFAULT_PEER_TIMEOUT    180
 #define LNET_LND_DEFAULT_TIMEOUT 5
 
+#ifdef HAVE_KERN_SOCK_GETNAME_2ARGS
+#define lnet_kernel_getpeername(sock, addr, addrlen) \
+               kernel_getpeername(sock, addr)
+#define lnet_kernel_getsockname(sock, addr, addrlen) \
+               kernel_getsockname(sock, addr)
+#else
+#define lnet_kernel_getpeername(sock, addr, addrlen) \
+               kernel_getpeername(sock, addr, addrlen)
+#define lnet_kernel_getsockname(sock, addr, addrlen) \
+               kernel_getsockname(sock, addr, addrlen)
+#endif
+
 static inline int lnet_is_route_alive(struct lnet_route *route)
 {
        if (!route->lr_gateway->lpni_alive)
@@ -496,7 +511,7 @@ lnet_rspt_alloc(int cpt)
        struct lnet_rsp_tracker *rspt;
        LIBCFS_ALLOC(rspt, sizeof(*rspt));
        lnet_net_lock(cpt);
-       the_lnet.ln_counters[cpt]->rst_alloc++;
+       the_lnet.ln_counters[cpt]->lct_health.lch_rst_alloc++;
        lnet_net_unlock(cpt);
        return rspt;
 }
@@ -506,7 +521,7 @@ lnet_rspt_free(struct lnet_rsp_tracker *rspt, int cpt)
 {
        LIBCFS_FREE(rspt, sizeof(*rspt));
        lnet_net_lock(cpt);
-       the_lnet.ln_counters[cpt]->rst_alloc--;
+       the_lnet.ln_counters[cpt]->lct_health.lch_rst_alloc--;
        lnet_net_unlock(cpt);
 }
 
@@ -556,16 +571,19 @@ extern unsigned lnet_transaction_timeout;
 extern unsigned lnet_retry_count;
 extern unsigned int lnet_numa_range;
 extern unsigned int lnet_health_sensitivity;
+extern unsigned int lnet_recovery_interval;
 extern unsigned int lnet_peer_discovery_disabled;
+extern unsigned int lnet_drop_asym_route;
 extern int portal_rotor;
 
+void lnet_mt_event_handler(struct lnet_event *event);
+
 int lnet_notify(struct lnet_ni *ni, lnet_nid_t peer, int alive,
                time64_t when);
 void lnet_notify_locked(struct lnet_peer_ni *lp, int notifylnd, int alive,
                        time64_t when);
 int lnet_add_route(__u32 net, __u32 hops, lnet_nid_t gateway_nid,
                   unsigned int priority);
-int lnet_check_routes(void);
 int lnet_del_route(__u32 net, lnet_nid_t gw_nid);
 void lnet_destroy_routes(void);
 int lnet_get_route(int idx, __u32 *net, __u32 *hops,
@@ -575,19 +593,6 @@ struct lnet_ni *lnet_get_next_ni_locked(struct lnet_net *mynet,
                                        struct lnet_ni *prev);
 struct lnet_ni *lnet_get_ni_idx_locked(int idx);
 
-struct libcfs_ioctl_handler {
-       struct list_head item;
-       int (*handle_ioctl)(unsigned int cmd, struct libcfs_ioctl_hdr *hdr);
-};
-
-#define DECLARE_IOCTL_HANDLER(ident, func)                     \
-       static struct libcfs_ioctl_handler ident = {            \
-               .item         = LIST_HEAD_INIT(ident.item),     \
-               .handle_ioctl = func                            \
-       }
-
-extern int libcfs_register_ioctl(struct libcfs_ioctl_handler *hand);
-extern int libcfs_deregister_ioctl(struct libcfs_ioctl_handler *hand);
 extern int libcfs_ioctl_getdata(struct libcfs_ioctl_hdr **hdr_pp,
                                struct libcfs_ioctl_hdr __user *uparam);
 extern int lnet_get_peer_list(__u32 *countp, __u32 *sizep,
@@ -616,7 +621,6 @@ int lnet_islocalnet(__u32 net);
 
 void lnet_msg_attach_md(struct lnet_msg *msg, struct lnet_libmd *md,
                        unsigned int offset, unsigned int mlen);
-void lnet_msg_detach_md(struct lnet_msg *msg, int status);
 void lnet_build_unlink_event(struct lnet_libmd *md, struct lnet_event *ev);
 void lnet_build_msg_event(struct lnet_msg *msg, enum lnet_event_kind ev_type);
 void lnet_msg_commit(struct lnet_msg *msg, int cpt);
@@ -708,6 +712,7 @@ void lnet_detach_rsp_tracker(struct lnet_libmd *md, int cpt);
 void lnet_finalize(struct lnet_msg *msg, int rc);
 bool lnet_send_error_simulation(struct lnet_msg *msg,
                                enum lnet_msg_hstatus *hstatus);
+void lnet_handle_remote_failure_locked(struct lnet_peer_ni *lpni);
 
 void lnet_drop_message(struct lnet_ni *ni, int cpt, void *private,
                       unsigned int nob, __u32 msg_type);
@@ -742,6 +747,7 @@ bool lnet_delay_rule_match_locked(struct lnet_hdr *hdr, struct lnet_msg *msg);
 
 /** @} lnet_fault_simulation */
 
+void lnet_counters_get_common(struct lnet_counters_common *common);
 void lnet_counters_get(struct lnet_counters *counters);
 void lnet_counters_reset(void);