Committed by
Gerrit Code Review
CORD-470 Added physical interface add state
Change-Id: Ia1a86422cdb046bde86fd314da4868ce3f9f4b3e
Showing
1 changed file
with
37 additions
and
9 deletions
| ... | @@ -200,6 +200,17 @@ public class CordVtnNodeManager { | ... | @@ -200,6 +200,17 @@ public class CordVtnNodeManager { |
| 200 | } | 200 | } |
| 201 | } | 201 | } |
| 202 | }, | 202 | }, |
| 203 | + TUNNEL_INTERFACE_CREATED { | ||
| 204 | + @Override | ||
| 205 | + public void process(CordVtnNodeManager nodeManager, CordVtnNode node) { | ||
| 206 | + if (!nodeManager.getOvsdbConnectionState(node)) { | ||
| 207 | + nodeManager.connectOvsdb(node); | ||
| 208 | + } else { | ||
| 209 | + nodeManager.createPhyInterface(node); | ||
| 210 | + } | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + }, | ||
| 203 | COMPLETE { | 214 | COMPLETE { |
| 204 | @Override | 215 | @Override |
| 205 | public void process(CordVtnNodeManager nodeManager, CordVtnNode node) { | 216 | public void process(CordVtnNodeManager nodeManager, CordVtnNode node) { |
| ... | @@ -422,13 +433,11 @@ public class CordVtnNodeManager { | ... | @@ -422,13 +433,11 @@ public class CordVtnNodeManager { |
| 422 | private NodeState checkNodeState(CordVtnNode node) { | 433 | private NodeState checkNodeState(CordVtnNode node) { |
| 423 | checkNotNull(node); | 434 | checkNotNull(node); |
| 424 | 435 | ||
| 425 | - if (checkIntegrationBridge(node) && checkTunnelInterface(node)) { | 436 | + if (checkIntegrationBridge(node) && checkTunnelInterface(node) && |
| 426 | - // TODO add physical port add state | 437 | + checkPhyInterface(node)) { |
| 427 | - if (checkPhyInterface(node)) { | 438 | + return NodeState.COMPLETE; |
| 428 | - return NodeState.COMPLETE; | 439 | + } else if (checkTunnelInterface(node)) { |
| 429 | - } else { | 440 | + return NodeState.TUNNEL_INTERFACE_CREATED; |
| 430 | - return NodeState.INCOMPLETE; | ||
| 431 | - } | ||
| 432 | } else if (checkIntegrationBridge(node)) { | 441 | } else if (checkIntegrationBridge(node)) { |
| 433 | return NodeState.BRIDGE_CREATED; | 442 | return NodeState.BRIDGE_CREATED; |
| 434 | } else if (getOvsdbConnectionState(node)) { | 443 | } else if (getOvsdbConnectionState(node)) { |
| ... | @@ -569,7 +578,7 @@ public class CordVtnNodeManager { | ... | @@ -569,7 +578,7 @@ public class CordVtnNodeManager { |
| 569 | BridgeConfig bridgeConfig = handler.behaviour(BridgeConfig.class); | 578 | BridgeConfig bridgeConfig = handler.behaviour(BridgeConfig.class); |
| 570 | bridgeConfig.addBridge(BridgeName.bridgeName(DEFAULT_BRIDGE), dpid, controllers); | 579 | bridgeConfig.addBridge(BridgeName.bridgeName(DEFAULT_BRIDGE), dpid, controllers); |
| 571 | } catch (ItemNotFoundException e) { | 580 | } catch (ItemNotFoundException e) { |
| 572 | - log.warn("Failed to create integration bridge on {}", node.ovsdbId()); | 581 | + log.warn("Failed to create integration bridge on {}", node.hostname()); |
| 573 | } | 582 | } |
| 574 | } | 583 | } |
| 575 | 584 | ||
| ... | @@ -597,7 +606,26 @@ public class CordVtnNodeManager { | ... | @@ -597,7 +606,26 @@ public class CordVtnNodeManager { |
| 597 | TunnelConfig tunnelConfig = handler.behaviour(TunnelConfig.class); | 606 | TunnelConfig tunnelConfig = handler.behaviour(TunnelConfig.class); |
| 598 | tunnelConfig.createTunnelInterface(BridgeName.bridgeName(DEFAULT_BRIDGE), description); | 607 | tunnelConfig.createTunnelInterface(BridgeName.bridgeName(DEFAULT_BRIDGE), description); |
| 599 | } catch (ItemNotFoundException e) { | 608 | } catch (ItemNotFoundException e) { |
| 600 | - log.warn("Failed to create tunnel interface on {}", node.ovsdbId()); | 609 | + log.warn("Failed to create tunnel interface on {}", node.hostname()); |
| 610 | + } | ||
| 611 | + } | ||
| 612 | + | ||
| 613 | + /** | ||
| 614 | + * Creates physical interface to a given node. | ||
| 615 | + * | ||
| 616 | + * @param node cordvtn node | ||
| 617 | + */ | ||
| 618 | + private void createPhyInterface(CordVtnNode node) { | ||
| 619 | + if (checkPhyInterface(node)) { | ||
| 620 | + return; | ||
| 621 | + } | ||
| 622 | + | ||
| 623 | + try { | ||
| 624 | + DriverHandler handler = driverService.createHandler(node.ovsdbId()); | ||
| 625 | + BridgeConfig bridgeConfig = handler.behaviour(BridgeConfig.class); | ||
| 626 | + bridgeConfig.addPort(BridgeName.bridgeName(DEFAULT_BRIDGE), node.phyPortName()); | ||
| 627 | + } catch (ItemNotFoundException e) { | ||
| 628 | + log.warn("Failed to add {} on {}", node.phyPortName(), node.hostname()); | ||
| 601 | } | 629 | } |
| 602 | } | 630 | } |
| 603 | 631 | ... | ... |
-
Please register or login to post a comment