You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2016/03/19 00:06:35 UTC

[17/50] [abbrv] qpid-dispatch git commit: DISPATCH-179 - Handle next-hop for link-routes. Complete backward-compat linkRoutePattern.

DISPATCH-179 - Handle next-hop for link-routes.  Complete backward-compat linkRoutePattern.


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/a12a0852
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/a12a0852
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/a12a0852

Branch: refs/heads/master
Commit: a12a08523f136b3592252778508c8a6ec2d115a7
Parents: 9d0a8e6
Author: Ted Ross <tr...@redhat.com>
Authored: Tue Mar 8 14:22:13 2016 -0500
Committer: Ted Ross <tr...@redhat.com>
Committed: Tue Mar 8 14:22:13 2016 -0500

----------------------------------------------------------------------
 src/router_config.c         |  8 ++++++++
 src/router_core/forwarder.c | 19 +++++++++++++++++++
 2 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/a12a0852/src/router_config.c
----------------------------------------------------------------------
diff --git a/src/router_config.c b/src/router_config.c
index 30ff89b..c08307e 100644
--- a/src/router_config.c
+++ b/src/router_config.c
@@ -152,6 +152,14 @@ qd_error_t qd_router_configure_lrp(qd_router_t *router, qd_entity_t *entity)
 
     qd_compose_insert_string(body, "treatment");
     qd_compose_insert_string(body, "linkBalanced");
+
+    if (connector) {
+        qd_compose_insert_string(body, "connectors");
+        qd_compose_start_list(body);
+        qd_compose_insert_string(body, connector);
+        qd_compose_end_list(body);
+    }
+
     qd_compose_end_map(body);
 
     int              length = 0;

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/a12a0852/src/router_core/forwarder.c
----------------------------------------------------------------------
diff --git a/src/router_core/forwarder.c b/src/router_core/forwarder.c
index 0b4562b..862c498 100644
--- a/src/router_core/forwarder.c
+++ b/src/router_core/forwarder.c
@@ -367,6 +367,25 @@ bool qdr_forward_link_balanced_CT(qdr_core_t     *core,
             DEQ_REMOVE_HEAD(addr->conns);
             DEQ_INSERT_TAIL(addr->conns, conn_ref);
         }
+    } else {
+        //
+        // Look for a next-hop we can use to forward the link-attach.
+        //
+        int         router_bit;
+        qdr_node_t *next_node;
+
+        if (qd_bitmask_first_set(addr->rnodes, &router_bit)) {
+            qdr_node_t *rnode = core->routers_by_mask_bit[router_bit];
+            if (rnode) {
+                if (rnode->next_hop)
+                    next_node = rnode->next_hop;
+                else
+                    next_node = rnode;
+
+                if (next_node && next_node->peer_data_link)
+                    conn = next_node->peer_data_link->conn;
+            }
+        }
     }
 
     //


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org