Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / net / tipc / bearer.h
index 39f1192d04bff34dfd2295cbe99b491d603e7cbb..09c869adcfcf4fd7f3e6cac8423c4e3ccd7762c1 100644 (file)
@@ -56,6 +56,7 @@
  * Identifiers of supported TIPC media types
  */
 #define TIPC_MEDIA_TYPE_ETH    1
+#define TIPC_MEDIA_TYPE_IB     2
 
 /**
  * struct tipc_media_addr - destination address used by TIPC bearers
@@ -77,7 +78,6 @@ struct tipc_bearer;
  * @enable_bearer: routine which enables a bearer
  * @disable_bearer: routine which disables a bearer
  * @addr2str: routine which converts media address to string
- * @str2addr: routine which converts media address from string
  * @addr2msg: routine which converts media address to protocol message area
  * @msg2addr: routine which converts media address from protocol message area
  * @bcast_addr: media address used in broadcasting
@@ -94,10 +94,9 @@ struct tipc_media {
        int (*enable_bearer)(struct tipc_bearer *b_ptr);
        void (*disable_bearer)(struct tipc_bearer *b_ptr);
        int (*addr2str)(struct tipc_media_addr *a, char *str_buf, int str_size);
-       int (*str2addr)(struct tipc_media_addr *a, char *str_buf);
        int (*addr2msg)(struct tipc_media_addr *a, char *msg_area);
-       int (*msg2addr)(struct tipc_media_addr *a, char *msg_area);
-       struct tipc_media_addr bcast_addr;
+       int (*msg2addr)(const struct tipc_bearer *b_ptr,
+                       struct tipc_media_addr *a, char *msg_area);
        u32 priority;
        u32 tolerance;
        u32 window;
@@ -136,6 +135,7 @@ struct tipc_bearer {
        char name[TIPC_MAX_BEARER_NAME];
        spinlock_t lock;
        struct tipc_media *media;
+       struct tipc_media_addr bcast_addr;
        u32 priority;
        u32 window;
        u32 tolerance;
@@ -175,6 +175,14 @@ int tipc_disable_bearer(const char *name);
 int  tipc_eth_media_start(void);
 void tipc_eth_media_stop(void);
 
+#ifdef CONFIG_TIPC_MEDIA_IB
+int  tipc_ib_media_start(void);
+void tipc_ib_media_stop(void);
+#else
+static inline int tipc_ib_media_start(void) { return 0; }
+static inline void tipc_ib_media_stop(void) { return; }
+#endif
+
 int tipc_media_set_priority(const char *name, u32 new_value);
 int tipc_media_set_window(const char *name, u32 new_value);
 void tipc_media_addr_printf(char *buf, int len, struct tipc_media_addr *a);