-
Notifications
You must be signed in to change notification settings - Fork 388
Add crypto extern to behavioral-model #834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 21 commits
0f3bfe2
e9e1785
2847992
02c01d5
4e9d5be
fc17434
7d5a5a9
30f2879
353b462
84a43b5
fb7b8f3
e7d89e7
11f02c9
19656e2
e1fe58c
a3c273a
d32443a
9ff1f4d
c357ef5
1dc5f2c
f031ac7
3ca057f
f187058
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| crypto_SOURCES = crypto.cpp | ||
| crypto_LDADD = -lcrypto | ||
|
|
||
| CPPFLAGS += -I../../ -fPIC -shared | ||
|
|
||
| libexterncrypto.so : $(crypto_SOURCES) | ||
| g++ $(CPPFLAGS) $(crypto_SOURCES) -o libexterncrypto.so $(crypto_LDADD) | ||
|
|
||
| clean: | ||
| rm -rf libexterncrypto.so | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,25 @@ | ||||||
| # ADD CRYPTO EXTERN to SIMPLE_SWITCH | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| For reference, the extern is implemented in crypto.cpp in this directory. | ||||||
| This cpp code is to be incorporated in | ||||||
| behavioral-model/targets/simple_switch/simple_switch.cpp | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's not accurate. You should instead include the following instructions:
Please also make sure that these instructions work properly.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't see a |
||||||
|
|
||||||
| The code is crypto.cpp is also available in the repo URL included below | ||||||
| so that testing can be done using MACsec (MAC security) code. A | ||||||
| README.md is available at the repo below with steps for how to test | ||||||
| the code. | ||||||
|
|
||||||
| https://github.com/uni-tue-kn/p4-macsec | ||||||
|
|
||||||
| The extern is defined in the following P4 file. Search for ExternCrypt | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I recommend copy-pasting the P4 extern type definition here since it's only a few lines, in case the link becomes broken in the future. |
||||||
| for the extern definition. Additionally the extern is used in P4 code | ||||||
| as crypt.validate() which is decryption and crypt.protect() which is | ||||||
| encryption. | ||||||
|
|
||||||
| https://github.com/uni-tue-kn/p4-macsec/p4/p4/basic.p4 | ||||||
|
|
||||||
| basic.p4 is used to test the cryto extern code with simple_switch. | ||||||
|
|
||||||
| basic.p4 is compiled using p4c with args shown in | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. again, please provide the command-line as part of this README, I think it's valuable. |
||||||
|
|
||||||
| https://github.com/uni-tue-kn/p4-macsec/blob/master/p4/p4/Makefile | ||||||
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.
Since this extern is a bit complicated, I think we should have a simple C++ test and a
make checktarget in this Makefile to make sure that the extern definition is not broken and that encryption / decryption work properly.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.
Let me think about this one and get back.