|
1 | 1 | # Build Wiring Diagram
|
2 | 2 |
|
3 |
| -!!! warning "" |
4 |
| - Under construction. |
5 | 3 |
|
6 | 4 | ## Overview
|
7 | 5 |
|
@@ -56,28 +54,34 @@ OPTIONS:
|
56 | 54 | ```
|
57 | 55 |
|
58 | 56 | ### Sample Switch Configuration
|
59 |
| -```yaml |
| 57 | +``` { .yaml .annotate linenums="1" } |
60 | 58 | apiVersion: wiring.githedgehog.com/v1beta1
|
61 | 59 | kind: Switch
|
62 | 60 | metadata:
|
63 | 61 | name: ds3000-02
|
64 | 62 | spec:
|
65 |
| - boot: |
| 63 | + boot: # Serial or MAC can be used |
66 | 64 | serial: ABC123XYZ
|
| 65 | + mac: 34:AD:61:00:02:03 # Usually the first management port MAC address |
67 | 66 | role: server-leaf
|
68 |
| - description: leaf-2 |
69 |
| - profile: celestica-ds3000 |
70 |
| - portBreakouts: |
| 67 | + description: rack 5, aisle 3, RU 22 |
| 68 | + profile: celestica-ds3000 # (1)! |
| 69 | + portBreakouts: # (2)! |
71 | 70 | E1/1: 4x10G
|
72 | 71 | E1/2: 4x10G
|
73 | 72 | E1/17: 4x25G
|
74 | 73 | E1/18: 4x25G
|
75 | 74 | E1/32: 4x25G
|
76 |
| - redundancy: |
77 |
| - group: mclag-1 |
78 |
| - type: mclag |
| 75 | + redundancy: # (3)! |
| 76 | + group: eslag-1 |
| 77 | + type: eslag |
79 | 78 | ```
|
80 | 79 |
|
| 80 | +1. See the [list](../reference/profiles.md) of profile names |
| 81 | +2. More information in the [User Guide](../user-guide/profiles.md#port-naming) |
| 82 | +3. Could be MCLAG, ESLAG or nothing, more details in [Redundancy |
| 83 | + Groups](../user-guide/devices.md#redundnacy-groups) |
| 84 | + |
81 | 85 | ## Design Discussion
|
82 | 86 | This section is meant to help the reader understand how to assemble the primitives presented by the Fabric API into a functional fabric.
|
83 | 87 |
|
@@ -279,3 +283,321 @@ The dotted line in the diagram shows the traffic flow for remote peering. The tr
|
279 | 283 |
|
280 | 284 | A VPC loopback is a physical cable with both ends plugged into the same switch, suggested but not required to be the adjacent ports. This loopback allows two different VPCs to communicate with each other. This is due to a Broadcom limitation.
|
281 | 285 |
|
| 286 | +## Sample Wiring Diagram |
| 287 | + |
| 288 | +The YAML listing below shows a complete wiring diagram. It illustrates how switches |
| 289 | +from a single vendor can be arranged to form a fabric. There are no IP |
| 290 | +addresses or ASN numbers in this listing, the `hhfab build` step creates those as part |
| 291 | +of creating the fabric. To physically connect this topology, 16 cables are |
| 292 | +needed for the fabric links, 8 cables are needed for the loop back connections. |
| 293 | +Additional cables are needed to connect servers into the fabric. |
| 294 | + |
| 295 | +``` {.yaml .annotate linenums="1" title="wiring_diagram.yaml"} |
| 296 | +# |
| 297 | +# VLANNamespaceList |
| 298 | +# |
| 299 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 300 | +kind: VLANNamespace |
| 301 | +metadata: |
| 302 | + name: default |
| 303 | +spec: |
| 304 | + ranges: |
| 305 | + - from: 1000 |
| 306 | + to: 2999 |
| 307 | +# |
| 308 | +# IPv4NamespaceList |
| 309 | +# |
| 310 | +--- |
| 311 | +apiVersion: vpc.githedgehog.com/v1beta1 |
| 312 | +kind: IPv4Namespace |
| 313 | +metadata: |
| 314 | + name: default |
| 315 | +spec: |
| 316 | + subnets: |
| 317 | + - 10.0.0.0/16 |
| 318 | +# |
| 319 | +# SwitchGroupList |
| 320 | +# |
| 321 | +--- |
| 322 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 323 | +kind: SwitchGroup |
| 324 | +metadata: |
| 325 | + name: empty |
| 326 | +spec: {} |
| 327 | +# |
| 328 | +# SwitchList |
| 329 | +# |
| 330 | +--- |
| 331 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 332 | +kind: Switch |
| 333 | +metadata: |
| 334 | + name: leaf-01 |
| 335 | +spec: |
| 336 | + boot: |
| 337 | + mac: 0c:20:12:ff:00:00 # CHANGE ME |
| 338 | + description: leaf-01 |
| 339 | + profile: celestica-ds3000 |
| 340 | + redundancy: {} |
| 341 | + role: server-leaf |
| 342 | +--- |
| 343 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 344 | +kind: Switch |
| 345 | +metadata: |
| 346 | + name: leaf-02 |
| 347 | +spec: |
| 348 | + boot: |
| 349 | + mac: 0c:20:12:ff:01:00 # CHANGE ME |
| 350 | + description: leaf-02 |
| 351 | + profile: celestica-ds3000 |
| 352 | + redundancy: {} |
| 353 | + role: server-leaf |
| 354 | +--- |
| 355 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 356 | +kind: Switch |
| 357 | +metadata: |
| 358 | + name: leaf-03 |
| 359 | +spec: |
| 360 | + boot: |
| 361 | + mac: 0c:20:12:ff:02:00 # CHANGE ME |
| 362 | + description: leaf-03 |
| 363 | + profile: celestica-ds3000 |
| 364 | + redundancy: {} |
| 365 | + role: server-leaf |
| 366 | +--- |
| 367 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 368 | +kind: Switch |
| 369 | +metadata: |
| 370 | + name: leaf-04 |
| 371 | +spec: |
| 372 | + boot: |
| 373 | + mac: 0c:20:12:ff:03:00 # CHANGE ME |
| 374 | + description: leaf-04 |
| 375 | + profile: celestica-ds3000 |
| 376 | + redundancy: {} |
| 377 | + role: server-leaf |
| 378 | +--- |
| 379 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 380 | +kind: Switch |
| 381 | +metadata: |
| 382 | + name: spine-01 |
| 383 | +spec: |
| 384 | + boot: |
| 385 | + mac: 0c:20:12:ff:05:00 # CHANGE ME |
| 386 | + description: spine-01 |
| 387 | + profile: celestica-ds4000 |
| 388 | + portBreakouts: |
| 389 | + E1/1: 4x100G |
| 390 | + E1/2: 4x100G |
| 391 | + redundancy: {} |
| 392 | + role: spine |
| 393 | +--- |
| 394 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 395 | +kind: Switch |
| 396 | +metadata: |
| 397 | + name: spine-02 |
| 398 | +spec: |
| 399 | + boot: |
| 400 | + mac: 0c:20:12:ff:06:00 # CHANGE ME |
| 401 | + description: spine-02 |
| 402 | + profile: celestica-ds4000 |
| 403 | + portBreakouts: |
| 404 | + E1/1: 4x100G |
| 405 | + E1/2: 4x100G |
| 406 | + redundancy: {} |
| 407 | + role: spine |
| 408 | +# |
| 409 | +# ConnectionList |
| 410 | +# |
| 411 | +--- |
| 412 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 413 | +kind: Connection |
| 414 | +metadata: |
| 415 | + name: leaf-01--vpc-loopback |
| 416 | +spec: |
| 417 | + vpcLoopback: |
| 418 | + links: |
| 419 | + - switch1: |
| 420 | + port: leaf-01/E1/12 |
| 421 | + switch2: |
| 422 | + port: leaf-01/E1/13 |
| 423 | + - switch1: |
| 424 | + port: leaf-01/E1/14 |
| 425 | + switch2: |
| 426 | + port: leaf-01/E1/15 |
| 427 | +--- |
| 428 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 429 | +kind: Connection |
| 430 | +metadata: |
| 431 | + name: leaf-02--vpc-loopback |
| 432 | +spec: |
| 433 | + vpcLoopback: |
| 434 | + links: |
| 435 | + - switch1: |
| 436 | + port: leaf-02/E1/13 |
| 437 | + switch2: |
| 438 | + port: leaf-02/E1/14 |
| 439 | + - switch1: |
| 440 | + port: leaf-02/E1/15 |
| 441 | + switch2: |
| 442 | + port: leaf-02/E1/16 |
| 443 | +--- |
| 444 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 445 | +kind: Connection |
| 446 | +metadata: |
| 447 | + name: leaf-03--vpc-loopback |
| 448 | +spec: |
| 449 | + vpcLoopback: |
| 450 | + links: |
| 451 | + - switch1: |
| 452 | + port: leaf-03/E1/8 |
| 453 | + switch2: |
| 454 | + port: leaf-03/E1/9 |
| 455 | + - switch1: |
| 456 | + port: leaf-03/E1/10 |
| 457 | + switch2: |
| 458 | + port: leaf-03/E1/11 |
| 459 | +--- |
| 460 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 461 | +kind: Connection |
| 462 | +metadata: |
| 463 | + name: leaf-04--vpc-loopback |
| 464 | +spec: |
| 465 | + vpcLoopback: |
| 466 | + links: |
| 467 | + - switch1: |
| 468 | + port: leaf-04/E1/9 |
| 469 | + switch2: |
| 470 | + port: leaf-04/E1/10 |
| 471 | + - switch1: |
| 472 | + port: leaf-04/E1/11 |
| 473 | + switch2: |
| 474 | + port: leaf-04/E1/12 |
| 475 | +--- |
| 476 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 477 | +kind: Connection |
| 478 | +metadata: |
| 479 | + name: spine-01--fabric--leaf-01 |
| 480 | +spec: |
| 481 | + fabric: |
| 482 | + links: |
| 483 | + - leaf: |
| 484 | + port: leaf-01/E1/8 |
| 485 | + spine: |
| 486 | + port: spine-01/E1/1/1 |
| 487 | + - leaf: |
| 488 | + port: leaf-01/E1/9 |
| 489 | + spine: |
| 490 | + port: spine-01/E1/2/1 |
| 491 | +--- |
| 492 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 493 | +kind: Connection |
| 494 | +metadata: |
| 495 | + name: spine-01--fabric--leaf-02 |
| 496 | +spec: |
| 497 | + fabric: |
| 498 | + links: |
| 499 | + - leaf: |
| 500 | + port: leaf-02/E1/9 |
| 501 | + spine: |
| 502 | + port: spine-01/E1/1/2 |
| 503 | + - leaf: |
| 504 | + port: leaf-02/E1/10 |
| 505 | + spine: |
| 506 | + port: spine-01/E1/2/2 |
| 507 | +--- |
| 508 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 509 | +kind: Connection |
| 510 | +metadata: |
| 511 | + name: spine-01--fabric--leaf-03 |
| 512 | +spec: |
| 513 | + fabric: |
| 514 | + links: |
| 515 | + - leaf: |
| 516 | + port: leaf-03/E1/4 |
| 517 | + spine: |
| 518 | + port: spine-01/E1/1/3 |
| 519 | + - leaf: |
| 520 | + port: leaf-03/E1/5 |
| 521 | + spine: |
| 522 | + port: spine-01/E1/2/3 |
| 523 | +--- |
| 524 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 525 | +kind: Connection |
| 526 | +metadata: |
| 527 | + name: spine-01--fabric--leaf-04 |
| 528 | +spec: |
| 529 | + fabric: |
| 530 | + links: |
| 531 | + - leaf: |
| 532 | + port: leaf-04/E1/5 |
| 533 | + spine: |
| 534 | + port: spine-01/E1/1/4 |
| 535 | + - leaf: |
| 536 | + port: leaf-04/E1/6 |
| 537 | + spine: |
| 538 | + port: spine-01/E1/2/4 |
| 539 | +--- |
| 540 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 541 | +kind: Connection |
| 542 | +metadata: |
| 543 | + name: spine-02--fabric--leaf-01 |
| 544 | +spec: |
| 545 | + fabric: |
| 546 | + links: |
| 547 | + - leaf: |
| 548 | + port: leaf-01/E1/10 |
| 549 | + spine: |
| 550 | + port: spine-02/E1/1/1 |
| 551 | + - leaf: |
| 552 | + port: leaf-01/E1/11 |
| 553 | + spine: |
| 554 | + port: spine-02/E1/2/1 |
| 555 | +--- |
| 556 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 557 | +kind: Connection |
| 558 | +metadata: |
| 559 | + name: spine-02--fabric--leaf-02 |
| 560 | +spec: |
| 561 | + fabric: |
| 562 | + links: |
| 563 | + - leaf: |
| 564 | + port: leaf-02/E1/11 |
| 565 | + spine: |
| 566 | + port: spine-02/E1/1/2 |
| 567 | + - leaf: |
| 568 | + port: leaf-02/E1/12 |
| 569 | + spine: |
| 570 | + port: spine-02/E1/2/2 |
| 571 | +--- |
| 572 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 573 | +kind: Connection |
| 574 | +metadata: |
| 575 | + name: spine-02--fabric--leaf-03 |
| 576 | +spec: |
| 577 | + fabric: |
| 578 | + links: |
| 579 | + - leaf: |
| 580 | + port: leaf-03/E1/6 |
| 581 | + spine: |
| 582 | + port: spine-02/E1/1/3 |
| 583 | + - leaf: |
| 584 | + port: leaf-03/E1/7 |
| 585 | + spine: |
| 586 | + port: spine-02/E1/2/3 |
| 587 | +--- |
| 588 | +apiVersion: wiring.githedgehog.com/v1beta1 |
| 589 | +kind: Connection |
| 590 | +metadata: |
| 591 | + name: spine-02--fabric--leaf-04 |
| 592 | +spec: |
| 593 | + fabric: |
| 594 | + links: |
| 595 | + - leaf: |
| 596 | + port: leaf-04/E1/7 |
| 597 | + spine: |
| 598 | + port: spine-02/E1/1/4 |
| 599 | + - leaf: |
| 600 | + port: leaf-04/E1/8 |
| 601 | + spine: |
| 602 | + port: spine-02/E1/2/4 |
| 603 | +``` |
0 commit comments