-
Notifications
You must be signed in to change notification settings - Fork 34
Add Arion gateway #748
Add Arion gateway #748
Conversation
| NeighborType neighbor_type = 1; | ||
| string subnet_id = 2; | ||
| string ip_address = 3; | ||
| string arion_group = 4; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DavidLiu506 Let us discuss this. Hopefully we could reuse Alcor basic data structure to support Arion.
schema/proto3/gateway.proto
Outdated
| TGW = 2; // Transit Gateway | ||
| IGW = 3; // Internet Gateway | ||
| NGW = 4; // NAT Gateway | ||
| ARION=5; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"ARION = 5"
| // port for in-band (same NIC channel) operation | ||
| uint32 port_inband_operation = 4; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a port id or?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the port number for the in-band operation. Say, port_inband_operation=1234, then when ACA receives this Gateway State, it creates a UDP server at this port(1234) to receive the OAM packet sent by an Arion Wing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zzxgzgz thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zzxgzgz based on the new design, the OAM packet is sent by a local OAM agent, not the Arion Wing, right?
schema/proto3/arionmaster.proto
Outdated
|
|
||
|
|
||
|
|
||
| service ArionMasterService { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the API provided by Arion Master? if so, we may put it in the Arion project and submodule from here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good suggestions. Thank you!
xieus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments, mostly minor.
| // port for in-band (same NIC channel) operation | ||
| uint32 port_inband_operation = 4; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zzxgzgz based on the new design, the OAM packet is sent by a local OAM agent, not the Arion Wing, right?
...ces/data_plane_manager/src/main/java/com/futurewei/alcor/dataplane/cache/ArionWingCache.java
Show resolved
Hide resolved
...e_manager/src/main/java/com/futurewei/alcor/dataplane/controller/ArionGatewayController.java
Show resolved
Hide resolved
services/data_plane_manager/src/main/java/com/futurewei/alcor/dataplane/entity/ArionGroup.java
Show resolved
Hide resolved
services/data_plane_manager/src/main/java/com/futurewei/alcor/dataplane/entity/ArionWing.java
Show resolved
Hide resolved
| // arionWingCache store Arion wing meta data. key is Arion Wing hash code and value is Arion wing meta data. | ||
| private ICache<String, ArionWing> arionWingCache; | ||
|
|
||
| // arionWingGroupCache store Arion group meta data. key is Arion wing group name, value is Arion wing meta data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the value here Arion group info? What is the difference from ArionWing which is the wing meta data.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arion group cache store all arion group info.
Here is Arion Wing meta data:
private String group;
private String ip;
private String mac;
private int port;
There is a group member in Arion Wing meta data mean which group they belong to
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There might be several Arion Wing belong to one group
xieus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
1 Send Arion gateway ip and mac to ACA.
2 Add consistent hash