Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
b2c18a7
sync-with-azure-dash (#8)
mmiele May 9, 2022
18f88a4
Merge branch 'Azure:main' into main
mmiele May 9, 2022
d956391
Create sdn-packet-transforms-vm-to-vm.svg
KrisNey-MSFT May 10, 2022
569c32a
Merge branch 'Azure:main' into main
mmiele May 20, 2022
1927911
Merge branch 'Azure:main' into main
mmiele May 31, 2022
f541d44
Merge branch 'Azure:main' into main
mmiele Jun 8, 2022
b5c1700
Merge branch 'Azure:main' into main
mmiele Jun 13, 2022
4120634
Merge branch 'Azure:main' into main
mmiele Jun 13, 2022
e4b3b64
Merge branch 'Azure:main' into main
mmiele Jun 14, 2022
48ae39c
Merge branch 'Azure:main' into main
mmiele Jun 17, 2022
30c65ab
Merge branch 'Azure:main' into main
mmiele Jun 20, 2022
54eca5a
Merge branch 'Azure:main' into main
mmiele Jun 28, 2022
9b51bb7
Merge branch 'Azure:main' into main
mmiele Jul 19, 2022
9f62724
Merge branch 'Azure:main' into main
mmiele Aug 25, 2022
32332b5
Merge branch 'Azure:main' into main
mmiele Sep 8, 2022
aabdf73
Reorganized dataplane folder.
mmiele Sep 9, 2022
c877384
Fixed links
mmiele Sep 9, 2022
001d8d9
Reorganized gnmi folder.
mmiele Sep 9, 2022
81a7c51
Reorganized encrypt-gw-service and express-route-service folders
mmiele Sep 9, 2022
bb2327a
Reorganized general folder
mmiele Sep 9, 2022
54a95b2
Fixed link
mmiele Sep 9, 2022
5818180
Reorganized high-avail folder.
mmiele Sep 9, 2022
4136f34
Reorganized load-bal-service folder
mmiele Sep 9, 2022
727b0b3
Reorganized sai folder.
mmiele Sep 9, 2022
4bc1b00
Reorganized stpl-service folder.
mmiele Sep 9, 2022
b4fd481
Reorganized vnet-peering-service folder.
mmiele Sep 9, 2022
7341d94
Reorganized vnet-to-vnet-service folder.
mmiele Sep 9, 2022
4d12cbf
Fixed reference links.
mmiele Sep 9, 2022
2a3f1dd
Fixed links to point to the reorganized folders.
mmiele Sep 9, 2022
9700152
Merge branch 'Azure:main' into main
mmiele Sep 17, 2022
f13143f
Update vnet-to-vnet-service.md
mmiele Sep 17, 2022
8686ed2
Squashed commit of the following:
mmiele Sep 18, 2022
ea1c4f8
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
672705e
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
737f12d
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
8b625c6
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
e89b3ed
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
8c92371
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
1f786b8
Create dash-sonic-hld.md
mmiele Sep 18, 2022
623f67b
Create program-scale-testing-requirements-draft.md
mmiele Sep 18, 2022
d64a2e6
Create AMD-Pensando_HA_Proposal.md
mmiele Sep 18, 2022
37aa067
Update vnet-to-vnet-service.md
mmiele Sep 18, 2022
d8772e7
Merge branch 'main' into documentation-folder-reorg
mmiele Sep 18, 2022
bdd4858
Delete dash-sonic-hld.md
mmiele Sep 18, 2022
3d96cc9
Delete program-scale-testing-requirements-draft.md
mmiele Sep 18, 2022
5aca0b3
Update README.md
mmiele Sep 19, 2022
ed76767
Delete AMD-Pensando_HA_Proposal.md
mmiele Sep 19, 2022
c917ac4
Fixed broken links
mmiele Sep 19, 2022
3895a2f
Fixed links and removed obsolete one.
mmiele Sep 19, 2022
407fa14
Removed obsolete links.
mmiele Sep 19, 2022
3614db1
Update README.md
mmiele Sep 19, 2022
2c0601a
Update README.md
mmiele Sep 20, 2022
ebf5dc6
Removed obsolete links
mmiele Sep 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 20 additions & 38 deletions documentation/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
[[ << Back to DASH top-level README ](../README.md)]
# DASH Documentation

Documentation comprises system descriptions, High-level design (HLD) documents and detailed compliance requirements. These are contained in the [DASH/documentation](./) directory and subdirectories.
Expand All @@ -8,50 +7,33 @@ The testing framework, methodology, documentation and testing artifacts are stor
See also DASH [FAQ](https://github.com/Azure/DASH/wiki/FAQ) and [Glossary](https://github.com/Azure/DASH/wiki/Glossary).

# Contents

## Baseline Specifications and Requirements

All DASH devices shall conform to the following design specifications and compliance requirements:

| Topic | Links to Folders |
| ------- | ---------|
| General Architecture and Requirements| [Parent Folder](general/README.md) \| [ Design](general/design/README.md) \| [Compliance Requirements](general/requirements/README.md)|
| Data plane | [Parent Folder](dataplane/README.md) \| [ Design](dataplane/design/README.md) \| [Compliance Requirements](dataplane/requirements/README.md)|
| High-Availability (HA) | [Parent Folder](high-avail/README.md) \| [ Design](high-avail/design/README.md) \| [Compliance Requirements](high-avail/requirements/README.md)|
| gNMI Northbound API | [Parent Folder](gnmi/README.md) \| [ Design](gnmi/design/README.md) \| [Compliance Requirements](gnmi/requirements/README.md)|
| SAI Southbound API | [Parent Folder](sai/README.md) \| [ Design](sai/design/README.md) \| [Compliance Requirements](sai/requirements/README.md)|
| Topic | Documents |
| ------------------------------------- | --------------------------------------------|
| General Architecture and Requirements | [DASH general](./general/README.md)| |
| Data plane | [Data plane](./dataplane/README.md) |
| High-Availability (HA) | [High-Availability](./high-avail/README.md) |
| gNMI Northbound API | [gNMI Northbound API](./gnmi/README.md) |
| SAI Southbound API | [SAI Southbound API](./sai/README.md) |

## Service Specifications and Requirements

DASH devices may implement one or more of the following services.

They shall conform to each service's design specifications and compliance requirements.
| Topic | Links to Folders |
| ------- | ---------|
| Load Balancer Service | [Parent Folder](load-bal-service/README.md) \| [ Design](load-bal-service/design/README.md) \| [Compliance Requirements](load-bal-service/requirements/README.md)|
| VNET-to-VNET Service | [Parent Folder](vnet2vnet-service/README.md) \| [ Design](vnet2vnet-service/design/README.md) \| [Compliance Requirements](vnet2vnet-service/requirements/README.md)|
| Service Tunnel & Private Link Service | [Parent Folder](stpl-service/README.md) \| [ Design](stpl-service/design/README.md) \| [Compliance Requirements](stpl-service/requirements/README.md)|
| VNET Peering Service | [Parent Folder](vnet-peering-service/README.md) \| [ Design](vnet-peering-service/design/README.md) \| [Compliance Requirements](vnet-peering-service/requirements/README.md)|
| Express Route (ER) Service | [Parent Folder](express-route-service/README.md) \| [ Design](express-route-service/design/README.md) \| [Compliance Requirements](express-route-service/requirements/README.md)|
| Encryption Gateway Service | [Parent Folder](encrypt-gw-service/README.md) \| [ Design](encrypt-gw-service/design/README.md) \| [Compliance Requirements](encrypt-gw-service/requirements/README.md)|


# Organization of Design & Requirements Documents
Documentation consists of separate, but related *System Descriptions* (HLDs, architecture, theory of operations, etc.) and *Compliance Requirements* (hard specifications, typically numerical but also behavioral). These two types of documents are deliberately kept separated, see [Relationships and Flow of Documents](#relationships-and-flow-of-documents).

Documentation is organized into folders as follows. Each feature or topic has all the high-level specs and the compliance requirements in the same parent folder, e.g. General, High-Availability, etc., making it easier to access related information about one topic. As the complexity grows, this helps keep things organized according to "functional topic."
```
topic1
design
topic1 High-level Descriptions and architecture
requirements
topic1 compliance Requirements

topic2
design
topic2 High-level Descriptions
requirements
topic2 compliance Requirements

etc
...
```

| Topic | Documents |
| --------------------------------------| ------------------------------------------------------------------|
| Load Balancer Service | [Load Balancer Service](./load-bal-service/README.md) |
| VNET-to-VNET Service | [VNET-to-VNET Service](./vnet2vnet-service/README.md) |
| Service Tunnel & Private Link Service | [Service Tunnel & Private Link Service](./stpl-service/README.md) |
| VNET Peering Service | [VNET Peering Service ](./vnet-peering-service/README.md) |
| Express Route (ER) Service | [Express Route (ER) Service](./express-route-service/README.md) |
| Encryption Gateway Service | [Encryption Gateway Service](./encrypt-gw-service/README.md) |

# Relationships and Flow of Documents
The diagram below shows how High-Level Descriptions beget Compliance requirements, compliance requirements beget test cases, and test cases are executed by test scripts to produce Test Results.
Expand Down
20 changes: 13 additions & 7 deletions documentation/dataplane/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
[ [ << Back to DASH top-level Documents](../README.md#contents) ]

# DASH Data plane Documents

This folder contains DASH data plane design and requirements documents.

# Contents
## Design

| Document | Description |
| ------------------------------------------------------ | ------------------------------------------ |
|[dash-update-timing.md](dash-update-timing.md) |Routing, ACL, Mapping Updates (WIP) |
|[dash-config-schema-json.md](dash-config-schema-json.md) |Configuration schema example |



## Requirements

| Folder | Description |
| ------------------------------------------------------ | -------------------------------------------- |
| [design](design/README.md) | DASH Data plane design & architecture documents |
| [requirements](requirements/README.md) | DASH Data plane requirements documents |
| Document | Description |
| ------------------------------------------------------ | ------------------------------------------ |
13 changes: 0 additions & 13 deletions documentation/dataplane/design/README.md

This file was deleted.

12 changes: 0 additions & 12 deletions documentation/dataplane/requirements/README.md

This file was deleted.

16 changes: 10 additions & 6 deletions documentation/encrypt-gw-service/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
[ [ << Back to DASH top-level Documents](../README.md#contents) ]
# DASH Encryption Gateway Service Documents

This folder contains DASH Encryption Gateway Service design and requirements documents.

# Contents
## Design

| Folder | Description |
| ------------------------------------------------------ | -------------------------------------------- |
| [design](design/README.md) | DASH Encryption Gateway Service design & architecture documents |
| [requirements](requirements/README.md) | DASH Encryption Gateway Service requirements documents |
| Document | Description |
| ------------------------------------------------------ | ------------------------------------------ |


## Requirements

| Document | Description |
| ------------------------------------------------------ | ------------------------------------------ |
10 changes: 0 additions & 10 deletions documentation/encrypt-gw-service/design/README.md

This file was deleted.

10 changes: 0 additions & 10 deletions documentation/encrypt-gw-service/requirements/README.md

This file was deleted.

16 changes: 10 additions & 6 deletions documentation/express-route-service/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
[ [ << Back to DASH top-level Documents](../README.md#contents) ]
# DASH Express Route Gateway Service Documents

This folder contains DASH Express Route Gateway Service design and requirements documents.

# Contents
## Design

| Folder | Description |
| ------------------------------------------------------ | -------------------------------------------- |
| [design](design/README.md) | DASH Express Route Gateway Service design & architecture documents |
| [requirements](requirements/README.md) | DASH Express Route Gateway Service requirements documents |
| Document | Description |
| ------------------------------------------------------ | ------------------------------------------ |


## Requirements

| Document | Description |
| ------------------------------------------------------ | ------------------------------------------ |
10 changes: 0 additions & 10 deletions documentation/express-route-service/design/README.md

This file was deleted.

10 changes: 0 additions & 10 deletions documentation/express-route-service/requirements/README.md

This file was deleted.

27 changes: 19 additions & 8 deletions documentation/general/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,23 @@
[ [ << Back to DASH top-level Documents](../README.md#contents) ]

# DASH General Documents

This folder contains DASH "General" design and requirements documents.
This folder contains DASH general design and requirements documents.

## Design

| Document | Description |
| ------------------------------------------------------------------------- | -------------------------------------------------|
| [dash-high-level-design.md](dash-high-level-design.md) | DASH High-Level Architecture and Design |
| [dash-sonic-hld.md](dash-sonic-hld.md) | DASH APIs, orch agent, config and APP DB Schemas |
| [sdn-features-packet-transforms.md](sdn-features-packet-transforms.md) | DASH VNET-to-VNET HLD and Packet Transforms |
| [sdn-pipeline-basic-elements.md](sdn-pipeline-basic-elements.md) | Pipeline basics such as path direction and flow |
| [dash-handling-fragmented-packets.md](dash-handling-fragmented-packets.md)| Handling of packet fragments |
|||



# Contents
## Requirements

| Folder | Description |
| ------------------------------------------------------ | -------------------------------------------- |
| [design](design/README.md) | DASH General design & architecture documents |
| [requirements](requirements/README.md) | DASH General requirements documents |
| Document | Description |
| ---------------------------------------------------------------------------------- | ------------------------------------------ |
| [dash-general-compliance-requirements.md](dash-general-compliance-requirements.md) | DASH General Compliance Requirements |
| [program-scale-testing-requirements-draft.md](program-scale-testing-requirements-draft.md) | DASH scale and performance requirements |
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
[ [ << Back to parent directory](../README.md) ]

[ [ << Back to DASH top-level Documents](../../README.md#contents) ]

# DASH General Compliance Requirements
# DASH Versioning and Configuration Management

## DASH Versioning and Configuration Management

>**TODO** Determine a versioning system for each category as well as the overall configuration of a "release."

# Continuous Integration and Test
## Continuous Integration and Test
Continuous integration verifies the correctness of each committed configuration. Workflows can be triggered manually, or automatically (by commits). Success/failure can be criteria for accepting pull requests.

**TODO** Define objectives and implement automation (Git Actions). The follow non-exhaustive list is just an example of what can be done:
Expand All @@ -19,6 +16,6 @@ Continuous integration verifies the correctness of each committed configuration.
* Execute DASH software data planes via P4 behavioral models: run test suites which configure the software Device under Test (DUT) and send traffic to/from the data plane with software traffic testers. See [DASH Testing Using P4 Simulators and SAI Thrift](../test/docs/dash-test-workflow-p4-saithrift.md) for an example workflow.


# Reference Architectures
## Reference Architectures
Reference architectures for test scenarios are described in [test/docs/dash-test-ref-arch.md](../../../test/docs/dash-test-ref-arch.md)

Loading