Skip to content
Merged
Show file tree
Hide file tree
Changes from 166 commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
a833e2c
MACsec OTG model reworked based on review of model from macsec branch
sasubrata Mar 2, 2025
043e70d
Update auto generated content
actions-user Mar 2, 2025
1466dd5
More rework based on review comments
sasubrata Mar 3, 2025
bbfeaa5
Add missing file
sasubrata Mar 3, 2025
4ad185d
Update auto generated content
actions-user Mar 3, 2025
c0e9db6
Fix secure channels
sasubrata Mar 3, 2025
0c60fdc
Update auto generated content
actions-user Mar 3, 2025
a15ddb0
Fix secure channels
sasubrata Mar 3, 2025
1d6a931
Update auto generated content
actions-user Mar 3, 2025
a530792
Fix secure channels
sasubrata Mar 3, 2025
a1f07d4
Update auto generated content
actions-user Mar 3, 2025
f9d65ef
Fix secure channels
sasubrata Mar 3, 2025
7c2237b
Update auto generated content
actions-user Mar 3, 2025
ace06cd
Correct min and max length of hex fields
sasubrata Mar 4, 2025
8dd2a49
Update auto generated content
actions-user Mar 4, 2025
db360eb
Update key time descriptions
sasubrata Mar 4, 2025
3ac4645
Update auto generated content
actions-user Mar 4, 2025
4cb378a
Add MACsec and MKA metrics
sasubrata Mar 4, 2025
7e591d9
Update auto generated content
actions-user Mar 4, 2025
3d2fb73
More rework based on review
sasubrata Mar 5, 2025
f837222
Update auto generated content
actions-user Mar 5, 2025
d79bb26
Split time offset and key chain start time into subfields
sasubrata Mar 5, 2025
54a0890
Update auto generated content
actions-user Mar 5, 2025
58c9d55
Fix time fields
sasubrata Mar 5, 2025
8ec997e
Update auto generated content
actions-user Mar 5, 2025
3b8f846
Fix time fields
sasubrata Mar 5, 2025
4f18748
Merge branch 'dev_macsec' of https://github.com/open-traffic-generato…
sasubrata Mar 5, 2025
468460f
Update auto generated content
actions-user Mar 5, 2025
6c143f5
Add integer format to time subfields
sasubrata Mar 5, 2025
2a97b27
Change class name from Macsec to SecureEntity to match field name sec…
sasubrata Mar 5, 2025
17a822e
Update auto generated content
actions-user Mar 5, 2025
988a37d
Change description of psk_chain_start_time
sasubrata Mar 5, 2025
584f994
Update auto generated content
actions-user Mar 5, 2025
5ad62b2
Try to set psk chain start time description from the field descriptio…
sasubrata Mar 5, 2025
97eb41d
Update auto generated content
actions-user Mar 5, 2025
ab0a006
Move re-shared key(PSK) chain start time description
sasubrata Mar 5, 2025
938bb1d
Update auto generated content
actions-user Mar 5, 2025
d2d4a90
Add lifetime validity information
sasubrata Mar 6, 2025
1799329
Update auto generated content
actions-user Mar 6, 2025
9eebbb9
add required fields
sasubrata Mar 7, 2025
af0cce4
Update auto generated content
actions-user Mar 7, 2025
5c12526
Minutes field max limit set to 59
sasubrata Mar 7, 2025
dfb1fe0
Remove encrypt_decrypt engine type from the model as of now as it is …
sasubrata Mar 7, 2025
2b9ad21
Update auto generated content
actions-user Mar 7, 2025
24093be
Some change in description to reflect previus change in redocly view
sasubrata Mar 7, 2025
a3fac6a
Rename bad_pkts_rx to in_pkts_bad at one place
sasubrata Mar 12, 2025
84b4124
Update auto generated content
actions-user Mar 12, 2025
416b8d7
Merge branch 'master' into dev_macsec
Feb 2, 2026
e9f4074
Manually merge previously done hardware MACsec configuration from mac…
sasubrata Feb 2, 2026
6741967
Fix errors in cryptoengine.yaml during manual merge
sasubrata Feb 2, 2026
8c1f86a
Fix error in cryptoengine.yaml during manual merge
sasubrata Feb 2, 2026
2c8bf19
Update auto generated content
actions-user Feb 2, 2026
7968be1
Add mode field in layer1 so that hardware MACsec modes can be set to …
sasubrata Feb 3, 2026
2c21327
Update auto generated content
actions-user Feb 3, 2026
fac4a1e
Update Tx PN settings for encrypt/decrypt engine
sasubrata Feb 4, 2026
2a56735
Update auto generated content
actions-user Feb 4, 2026
26709f3
Move HW MACsec global settings from device->macsec to options -> per_…
sasubrata Feb 5, 2026
fbc94ee
Corrected perportoptions YAML format
sasubrata Feb 5, 2026
8a478c9
Update auto generated content
actions-user Feb 5, 2026
7d52b51
Add VLAN options in data plane
sasubrata Feb 5, 2026
ab65605
Correction in VLAN options in data plane
sasubrata Feb 5, 2026
194da35
Update auto generated content
actions-user Feb 5, 2026
8b566c5
Update in VLAN options in data plane
sasubrata Feb 5, 2026
47eac05
Update auto generated content
actions-user Feb 5, 2026
c9a489a
Modify ethernet VLANs
sasubrata Feb 6, 2026
3909c34
Update auto generated content
actions-user Feb 6, 2026
cdd0564
Add information on per port global hardware accelertation config path…
sasubrata Feb 6, 2026
e015bef
Update auto generated content
actions-user Feb 6, 2026
7122296
Remove max_device_per_ca from per port global MACsec config as it is …
sasubrata Feb 11, 2026
b420ed0
Update auto generated content
actions-user Feb 11, 2026
706436f
Make per port MACsec global config more intuitive by adding choices
sasubrata Feb 11, 2026
12b8389
Update auto generated content
actions-user Feb 11, 2026
97bd032
Fix per port MACsec global config
sasubrata Feb 11, 2026
ef95735
Update auto generated content
actions-user Feb 11, 2026
17b960d
Change max_ca_count type to enum
sasubrata Feb 12, 2026
ffeb343
Update auto generated content
actions-user Feb 12, 2026
e906cfd
Change max_ca_count type to enum of string
sasubrata Feb 12, 2026
c3aa3a7
Change max_ca_count type to enum of string with value also of string …
sasubrata Feb 13, 2026
a6b4640
Update auto generated content
actions-user Feb 13, 2026
7bb2995
Add validate Rx frames control to MACsec global per port options.
sasubrata Feb 18, 2026
229799f
Merge branch 'master' into dev_macsec
sasubrata Feb 18, 2026
c4f88bc
Merge branch 'master' into dev_macsec
sasubrata Feb 18, 2026
b2bcc7f
Fix build error in MACsec global per port options.
sasubrata Feb 18, 2026
3510510
Fix build error in MACsec dataplane crypto engine by increasing max l…
sasubrata Feb 18, 2026
9b7d3b1
Fix build error in MACsec global per port options.
sasubrata Feb 18, 2026
469e851
Fix build error in MACsec global per port options.
sasubrata Feb 18, 2026
3c98612
Update auto generated content
actions-user Feb 18, 2026
f16d5f3
Add MACsec option per LAG member port
sasubrata Feb 19, 2026
799fd9d
Update auto generated content
actions-user Feb 19, 2026
fc22218
Support for exclusion of protocols from MACsec encapsulation per LAG …
sasubrata Feb 19, 2026
5419c33
Update auto generated content
actions-user Feb 19, 2026
6b22117
Support for exclusion of no protocols from MACsec encapsulation per L…
sasubrata Feb 19, 2026
203e4b6
Update auto generated content
actions-user Feb 19, 2026
e200ecf
Merge branch 'master' into dev_macsec
rudranil-das Feb 20, 2026
7825313
Update auto generated content
actions-user Feb 20, 2026
2c46f9d
Move mode to to last position in layer1
sasubrata Feb 23, 2026
6bd31b2
Update auto generated content
actions-user Feb 23, 2026
8150d8c
Modify mode in layer1
sasubrata Feb 23, 2026
935d745
Update auto generated content
actions-user Feb 23, 2026
3133142
Notes on LAG with MACsec configuration exclusivity
sasubrata Feb 24, 2026
2f03810
Update auto generated content
actions-user Feb 24, 2026
b38ba5e
Update LAG with MACsec object.
sasubrata Feb 24, 2026
b9f7b5e
Merge branch 'dev_macsec' of https://github.com/open-traffic-generato…
sasubrata Feb 24, 2026
1eb21a8
Update auto generated content
actions-user Feb 24, 2026
ce54df0
Remove mode from layer1 as per PR review comment.
sasubrata Feb 24, 2026
8e5063b
Merge branch 'dev_macsec' of https://github.com/open-traffic-generato…
sasubrata Feb 24, 2026
bacb637
Update auto generated content
actions-user Feb 24, 2026
7c356f0
Change hex string settings
sasubrata Feb 24, 2026
9e42004
Merge branch 'dev_macsec' of https://github.com/open-traffic-generato…
sasubrata Feb 24, 2026
030c7ab
Update auto generated content
actions-user Feb 24, 2026
67b225d
Update description on hardware acceleration type.
sasubrata Feb 24, 2026
7b2d0e9
Update auto generated content
actions-user Feb 24, 2026
87856e5
Change description in multiple fields as per PR review.
sasubrata Feb 24, 2026
aa6c460
Update auto generated content
actions-user Feb 24, 2026
edd1285
Remove MSK from key source as it is not supported in model.
sasubrata Feb 24, 2026
a48bf48
Update auto generated content
actions-user Feb 24, 2026
bb2456e
Merge branch 'master' into dev_macsec
rudranil-das Feb 25, 2026
8340c94
Update auto generated content
actions-user Feb 25, 2026
4585306
Remove none and disabled choices from Rx frame validation. Add import…
sasubrata Feb 25, 2026
81efc48
Update auto generated content
actions-user Feb 25, 2026
273ac18
Duplicate MACsec object in LAG so that desired attributes can be LAG …
sasubrata Feb 25, 2026
7feb1a4
Update auto generated content
actions-user Feb 25, 2026
0443c07
Add missing file. Also refer to LAG MACsec secY
sasubrata Feb 25, 2026
6993f29
Rename LAG MACsec secY
sasubrata Feb 25, 2026
0bb7d3d
Update auto generated content
actions-user Feb 25, 2026
3714423
Rename all attributes in LAG port MACsec and inside data plane
sasubrata Feb 25, 2026
1f85811
Update auto generated content
actions-user Feb 25, 2026
43a3c22
Update hardware acceleration
sasubrata Feb 25, 2026
d974014
Update auto generated content
actions-user Feb 25, 2026
5261ddd
Move validate frames settings out of HW acceleration because some sof…
sasubrata Feb 26, 2026
a56b8b6
Update auto generated content
actions-user Feb 26, 2026
d6a0895
Correct paths and attribute name qualification.
sasubrata Feb 26, 2026
f6c02e9
Update auto generated content
actions-user Feb 26, 2026
c120385
Fix x-field-uid related break
sasubrata Feb 26, 2026
edcc4d4
Merge branch 'dev_macsec' of https://github.com/open-traffic-generato…
sasubrata Feb 26, 2026
b5a8724
Update auto generated content
actions-user Feb 26, 2026
ca86012
Fix typo. Add choice for crypto engine type in LAG MACsec for future …
sasubrata Feb 26, 2026
ffb5b59
Update auto generated content
actions-user Feb 26, 2026
307970f
Changes in MKA basic as dicussed in recent review of LAG with MACsec.…
sasubrata Feb 27, 2026
268d953
Update auto generated content
actions-user Feb 27, 2026
f605612
Add mode details to some stats
sasubrata Mar 16, 2026
cc29a40
Update auto generated content
actions-user Mar 16, 2026
2203240
Add mode details to some MKA stats
sasubrata Mar 16, 2026
7e1d761
Update auto generated content
actions-user Mar 16, 2026
233a41e
add some descriptive changes
rudranil-das Mar 17, 2026
b73db32
Update auto generated content
actions-user Mar 17, 2026
11e1cc4
Set include SCI default value to true to match implementation default…
sasubrata Mar 20, 2026
061bb16
Update auto generated content
actions-user Mar 20, 2026
b3003dc
Correct typo in some description
sasubrata Mar 20, 2026
736c32e
Update auto generated content
actions-user Mar 20, 2026
d0381fc
Remove include SCI option from LAG with MACsec. The SCI should be pre…
sasubrata Mar 20, 2026
613fe0a
Update auto generated content
actions-user Mar 20, 2026
f101847
Merge branch 'master' into dev_macsec
rudranil-das Mar 22, 2026
db2a0ef
Update auto generated content
actions-user Mar 22, 2026
381f93b
Merge branch 'master' into dev_macsec
rudranil-das Mar 31, 2026
80e2c26
Update auto generated content
actions-user Mar 31, 2026
20701d8
Merge branch 'master' into dev_macsec
rudranil-das Apr 20, 2026
3679d37
Update auto generated content
actions-user Apr 20, 2026
9def73e
update based on discussion
rudranil-das May 20, 2026
d98bd67
Update auto generated content
actions-user May 20, 2026
7cd307b
Update max_ca_count description
sasubrata May 21, 2026
e4ac88b
Update auto generated content
actions-user May 21, 2026
8c55a17
Merge branch 'master' into dev_macsec
rudranil-das May 21, 2026
d6cbd90
Update auto generated content
actions-user May 21, 2026
ed311e6
Merge branch 'master' into dev_macsec
rudranil-das Jun 2, 2026
6e9df20
Update auto generated content
actions-user Jun 2, 2026
d920055
changing default of max_ca_count
rudranil-das Jun 9, 2026
48a56d7
Update auto generated content
actions-user Jun 9, 2026
a3ad09a
Merge branch 'master' into dev_macsec
rudranil-das Jun 10, 2026
5c3ebfb
Update auto generated content
actions-user Jun 10, 2026
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
6 changes: 3 additions & 3 deletions artifacts/openapi.html

Large diffs are not rendered by default.

16,616 changes: 8,564 additions & 8,052 deletions artifacts/openapi.yaml

Large diffs are not rendered by default.

12,322 changes: 6,374 additions & 5,948 deletions artifacts/otg.proto

Large diffs are not rendered by default.

61 changes: 58 additions & 3 deletions device/macsec/dataplane/cryptoengine.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@ components:
properties:
choice:
description: >-
Engine type based on encryption and/ or decryption capability. Supported types: encrypt_only - engine can only encrypt transmitted packets but it cannot decrypt packets upon arrival. As the packets cannot be decrypted on arrival, such packets cannot be delivered to the receiving device. Hence only stateless traffic can be sent.
Engine type based on encryption and/ or decryption capability. Supported types: 1) encrypt_only - engine can only encrypt transmitted packets but it cannot decrypt packets upon arrival. As the packets cannot be decrypted on arrival, such packets cannot be delivered to the receiving device. Hence only stateless traffic can be sent. 2) encrypt_decrypt - engine can both encrypt transmitted packets and decrypt packets on arrival. Such engine can have hardware acceleration for faster encryption/ decryption. As both encryption and decryption are possible, stateful (e.g. TCP) traffic can be sent/ received.
type: string
default: encrypt_only
x-field-uid: 1
x-enum:
encrypt_only:
x-field-uid: 1
encrypt_decrypt:
x-field-uid: 2
encrypt_only:
$ref: '#/components/schemas/SecureEntity.CryptoEngine.EncryptOnly'
x-field-uid: 2
encrypt_decrypt:
$ref: '#/components/schemas/SecureEntity.CryptoEngine.EncryptDecrypt'
x-field-uid: 3
SecureEntity.CryptoEngine.EncryptOnly:
description: >-
The container for encrypt only engine configuration.
Expand All @@ -30,6 +35,17 @@ components:
traffic_options:
$ref: '#/components/schemas/SecureEntity.CryptoEngine.EncryptOnly.TrafficOptions'
x-field-uid: 2
SecureEntity.CryptoEngine.EncryptDecrypt:
description: >-
The container for encrypt and decrypt engine configuration.
type: object
properties:
tx_pn:
$ref: '#/components/schemas/SecureEntity.CryptoEngine.EncryptDecrypt.TxPn'
x-field-uid: 1
hardware_acceleration:
$ref: '#/components/schemas/SecureEntity.CryptoEngine.EncryptDecrypt.HardwareAcceleration'
x-field-uid: 2
SecureEntity.CryptoEngine.EncryptOnly.TxSc:
description: >-
The container for Tx secure channel configuration.
Expand Down Expand Up @@ -82,7 +98,7 @@ components:
minLength: 1
maxLength: 16
minimum: 1
default: "0x06"
default: "06"
x-field-uid: 2
SecureEntity.CryptoEngine.EncryptOnly.IncrementingPn:
description: >-
Expand Down Expand Up @@ -114,7 +130,7 @@ components:
minLength: 1
maxLength: 16
minimum: 1
default: "0x010000"
default: "01"
x-field-uid: 3
SecureEntity.CryptoEngine.EncryptOnly.TrafficOptions:
description: >-
Expand All @@ -127,3 +143,42 @@ components:
type: boolean
default: true
x-field-uid: 1
SecureEntity.CryptoEngine.EncryptDecrypt.TxPn:
description: >-
Tx packet number(PN) configuration.
type: object
properties:
starting_pn:
description: >-
The starting packet number(PN).
type: integer
format: uint32
minimum: 1
default: 1
x-field-uid: 1
starting_xpn:
description: >-
The starting extended packet number(XPN).
type: string
format: hex
minLength: 1
maxLength: 16
minimum: 1
Comment thread
sasubrata marked this conversation as resolved.
default: "01"
x-field-uid: 2
SecureEntity.CryptoEngine.EncryptDecrypt.HardwareAcceleration:
description: >-
Hardware acceleration configuration for offloading MACsec processing to hardware.
type: object
properties:
choice:
description: >-
Hardware acceleration types. Per port global parameters for chosen hardware acceleration mode applicable for all MACsec sessions from the test port are available at options.per_port_options.protocols.macsec.hardware_acceleration.
Comment thread
sasubrata marked this conversation as resolved.
type: string
default: none
x-field-uid: 1
x-enum:
none:
x-field-uid: 1
inline_crypto:
x-field-uid: 2
7 changes: 6 additions & 1 deletion device/macsec/dataplane/dataplane.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ components:
encapsulation:
description: >-
A container of encapsulation properties for a secure entity(SecY).
$ref: './tx.yaml#/components/schemas/SecureEntity.DataPlane.Encapsulation'
$ref: '#/components/schemas/SecureEntity.DataPlane.Encapsulation'
x-field-uid: 2

SecureEntity.DataPlane.Encapsulation:
Expand All @@ -43,3 +43,8 @@ components:
Crypto engine properties of SecY.
$ref: './cryptoengine.yaml#/components/schemas/SecureEntity.CryptoEngine'
x-field-uid: 3
vlan_options:
description: >-
VLAN options of SecY.
$ref: './vlanoptions.yaml#/components/schemas/SecureEntity.VlanOptions'
x-field-uid: 4
Comment thread
sasubrata marked this conversation as resolved.
4 changes: 2 additions & 2 deletions device/macsec/dataplane/rx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ components:
properties:
replay_protection:
description: |-
Enable replay protection on not.
Enable replay protection or not.
type: boolean
default: false
x-field-uid: 1
replay_window:
description: |-
Replay window size.
Replay window size.
type: integer
format: uint32
minimum: 1
Expand Down
6 changes: 3 additions & 3 deletions device/macsec/dataplane/tx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ components:
properties:
end_station:
description: |-
End station on not.
End station or not.
type: boolean
default: false
x-field-uid: 1
include_sci:
description: |-
Include SCI on not.
Include SCI or not.
type: boolean
default: false
default: true
x-field-uid: 2
13 changes: 13 additions & 0 deletions device/macsec/dataplane/vlanoptions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
components:
schemas:
SecureEntity.VlanOptions:
description: >-
A container for VLAN options of SecY.
type: object
properties:
encrypt_interface_vlans:
description: >-
Send interface VLANS as encrypted or not. If it is false, VLANs go in cleartext. If hardware_accelerated.inline_crypto mode is chosen, option related to offset must be changed from default 12 (to 16 for example for single cleartext VLAN) at appropriate place to handle cleartext VLAN in receive direction.
type: boolean
default: true
x-field-uid: 1
20 changes: 13 additions & 7 deletions device/macsec/mka/basic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ components:
MKA Version.
type: integer
format: uint32
minimum: 1
maximum: 255
default: 3
x-field-uid: 8
mka_hello_time:
Expand Down Expand Up @@ -101,7 +103,7 @@ components:
description: |-
Delay Protect or not. When delay protect is enabled, it guards against delaying the delivery of MACsec encrypted frames by an attacker to the recipient.
type: boolean
default: true
default: false
x-field-uid: 12
rekey_mode:
description: >-
Expand Down Expand Up @@ -149,15 +151,13 @@ components:
properties:
choice:
description: |-
Key source. Choose one from PSK or MSK.
Key source. Current choice is PSK only.
type: string
default: psk
x-field-uid: 1
x-enum:
psk:
x-field-uid: 1
msk:
x-field-uid: 2
psks:
description: |-
PSK chain.
Expand All @@ -182,12 +182,12 @@ components:
x-field-uid: 1
cak_name:
description: |-
Connectivity association key(CAK) name.
Connectivity association key(CAK) name. The value should be in sync with CAK name in DUT.
type: string
format: hex
minLength: 1
maxLength: 64
default: "F123456789ABCDEF0123456789ABCDEFF123456789ABCDEF0123456789ABCDEF"
default: "ABCD"
x-field-uid: 2
start_offset_time:
description: |-
Expand Down Expand Up @@ -246,7 +246,7 @@ components:

Mka.Basic.PskChainStartTime:
description: >-
Pre-shared key(PSK) chain start time in UTC time format DD-MM-YYYY HH:MM:SS. If this time is set, the key start time will be relative to this value. Otherwise if this value is not set, key start time will be relative to test start time.
Pre-shared key(PSK) chain start time in UTC time format DD-MM-YYYY HH:MM:SS. For any key in chain, key start offset time and end offset time will be relative to this chain start time. There can be two cases depending on number of keys in key chain. 1) Single key in key chain - Test port and DUT need not be time synced for single key if key chain start time is set to some past time. As default key chain start time is Unix epoch time, default value suffices for single key in chain. 2) More than one key - Test program should set key chain start time to some future time e.g. few minutes ahead of current time in both test config and DUT config. This requires both test port and DUT to be time synced.
type: object
properties:
choice:
Expand Down Expand Up @@ -276,6 +276,7 @@ components:
format: uint32
minimum: 1
maximum: 31
default: 1
x-field-uid: 1
month:
description: |-
Expand All @@ -284,6 +285,7 @@ components:
format: uint32
minimum: 1
maximum: 12
default: 1
x-field-uid: 2
year:
description: |-
Expand All @@ -292,6 +294,7 @@ components:
format: uint32
minimum: 0
maximum: 9999
default: 1970
x-field-uid: 3
hour:
description: |-
Expand All @@ -300,6 +303,7 @@ components:
format: uint32
minimum: 0
maximum: 23
default: 0
x-field-uid: 4
minute:
description: |-
Expand All @@ -308,6 +312,7 @@ components:
format: uint32
minimum: 0
maximum: 59
default: 0
x-field-uid: 5
second:
description: |-
Expand All @@ -316,6 +321,7 @@ components:
format: uint32
minimum: 0
maximum: 59
default: 0
x-field-uid: 6

Mka.Basic.RekeyMode:
Expand Down
1 change: 0 additions & 1 deletion device/macsec/mka/keyserver.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ components:
type: integer
format: uint32
minimum: 1
maximum: 65535
default: 1
x-field-uid: 3
starting_distributed_an:
Expand Down
2 changes: 1 addition & 1 deletion flow/packet-headers/macsec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ components:
type: object
properties:
choice:
description: Currently only auto choice is allowed. If choice is auto, MACsec header is autogenerated. If auto choice is selected, MACsec protocol must be configured in device; flow.tx_rx.choice must be of type 'device' and flow.tx_rx.device.tx_names[0] must be chosen to be an endpoint that is on or behind a MACSec enabled ethernet to be able to correctly auto-fill the fields of the MACsec header. If one of the conditions is not true, the implementation should return an error specifying the issue. A custom choice can be added in future to allow user to set specific MACsec header fields and/ or to generate flow.tx_rx.port type of traffic with MACSec header fields explicitly specified by the user.
description: Currently only auto choice is allowed. If choice is auto, MACsec header is autogenerated. If auto choice is selected, MACsec protocol must be configured in either device or LAG members (ports); flow.tx_rx.choice must be of type 'device' and flow.tx_rx.device.tx_names[0] must be chosen to be an endpoint that is on or behind a MACSec enabled ethernet to be able to correctly auto-fill the fields of the MACsec header. If one of the conditions is not true, the implementation should return an error specifying the issue. A custom choice can be added in future to allow user to set specific MACsec header fields and/ or to generate flow.tx_rx.port type of traffic with MACSec header fields explicitly specified by the user.
type: string
default: auto
x-field-uid: 1
Expand Down
3 changes: 3 additions & 0 deletions lag/lag.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ components:
ethernet:
$ref: '../device/ethernet.yaml#/components/schemas/Device.EthernetBase'
x-field-uid: 3
Comment thread
sasubrata marked this conversation as resolved.
macsec:
$ref: './macsec/macsec.yaml#/components/schemas/Lag.Port.Macsec'
x-field-uid: 4
Lag.Protocol:
type: object
properties:
Expand Down
69 changes: 69 additions & 0 deletions lag/macsec/dataplane/cryptoengine.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
components:
schemas:
Lag.Port.Macsec.SecureEntity.CryptoEngine:
description: >-
A container of crypto engine properties of a SecY.
type: object
properties:
choice:
description: >-
Engine type based on encryption and/ or decryption capability. Supported type: encrypt_decrypt - engine can both encrypt transmitted packets and decrypt packets on arrival. Such engine can have hardware acceleration for faster encryption/ decryption. As both encryption and decryption are possible, stateful (e.g. TCP) traffic can be sent/ received.
type: string
default: encrypt_decrypt
x-field-uid: 1
x-enum:
encrypt_decrypt:
x-field-uid: 1
encrypt_decrypt:
$ref: '#/components/schemas/Lag.Port.Macsec.SecureEntity.CryptoEngine.EncryptDecrypt'
x-field-uid: 2
Lag.Port.Macsec.SecureEntity.CryptoEngine.EncryptDecrypt:
description: >-
The container for configuration of crypto engine of encrypt and decrypt type.
type: object
properties:
tx_pn:
$ref: '#/components/schemas/Lag.Port.Macsec.SecureEntity.CryptoEngine.EncryptDecrypt.TxPn'
x-field-uid: 1
hardware_acceleration:
$ref: '#/components/schemas/Lag.Port.Macsec.SecureEntity.CryptoEngine.EncryptDecrypt.HardwareAcceleration'
x-field-uid: 2
Lag.Port.Macsec.SecureEntity.CryptoEngine.EncryptDecrypt.TxPn:
description: >-
Tx packet number(PN) configuration.
type: object
properties:
starting_pn:
description: >-
The starting packet number(PN).
type: integer
format: uint32
minimum: 1
default: 1
x-field-uid: 1
starting_xpn:
description: >-
The starting extended packet number(XPN).
type: string
format: hex
minLength: 1
maxLength: 16
minimum: 1
default: "01"
x-field-uid: 2
Lag.Port.Macsec.SecureEntity.CryptoEngine.EncryptDecrypt.HardwareAcceleration:
description: >-
Hardware acceleration configuration for offloading MACsec processing to hardware.
type: object
properties:
choice:
description: >-
Hardware acceleration types.
type: string
default: none
x-field-uid: 1
x-enum:
none:
x-field-uid: 1
inline_crypto:
x-field-uid: 2
Loading