Open nabilabonasser opened 4 years ago
Hi Nabil,
we did not do any changes to p4c. We are using the version of p4c that is referenced in the file p4/vm/user-bootstrap.sh
.
The steps that you describe look fine to me. However, it is important that you use the same version of bmv2 as we do (also referenced in p4/vm/user-bootstrap.sh
). If you use a different version, the simple_switch.cpp from this repo might be incompatible.
Best Marco
Hallo Marco, danke dir für die Antwort. Ich benutze auch die Repo von p4lang/tutorials auch. Das Problem läge vielleicht an den Zeilen, wo man die Funktionen registriert. BM_REGISTER_EXTERN_METHOD BM_REGISTER_EXTERN_W_NAME_METHOD
Jedes mal habe ich nur Fehlermeldung bekommen, wo steht, die Funktion hat n Parameters aber m Parameters sind übergeben.
Ich versuche, Hashing statt Encryption zu implementieren. Und ich bekam nur komische Ergebnisse. Deswegen habe ich mich an euch gewandt.
LG aus BTU Cottbus, Nabil
On Thu, Jun 18, 2020 at 3:36 PM Marco Häberle notifications@github.com wrote:
Hi Nabil, we did not do any changes to p4c. We are using the version of p4c that is referenced in the file p4/vm/user-bootstrap.sh. The steps that you describe look fine to me. However, it is important that you use the same version of bmv2 as we do (also referenced in p4/vm/user-bootstrap.sh). If you use a different version, the simple_switch.cpp from this repo might be incompatible.
Best Marco
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/uni-tue-kn/p4-macsec/issues/3#issuecomment-646021753, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMBJO4ZSQ6M76DLS36ER2SDRXIJ65ANCNFSM4N5NXQDQ .
Die Parameter von BM_REGISTER_EXTERN_METHOD sind der Name der Klassen, der Name der externen Funktion (muss mit dem Namen der Funktion in simple_switch.cpp übereinstimmen) und danach die Parameter der externen Funktion. Die Anzahl an Parametern beim Aufruf von BM_REGISTER_EXTERN_METHOD ist also die Anzahl an Parametern der externen Funktion + 2.
Bei BM_REGISTER_EXTERN_W_NAME_METHOD ist es das selbe, nur dass noch zusätzlich ein Name als erster Parameter mit übergeben wird.
Wichtig ist auch noch der Typ der Parameter. Ein "in" Parameter im P4 Programm entspricht hier const Data &
, ein "out" Parameter einem Data &
.
Hallo, Ich habe die Simple_switch.cpp bearbeitet, um andere Hash Operationen auf das Payload anzuwenden. Obwohl das kompilierte Programm einwandfrei funktioniert, bekomme ich nicht das gewünschte Verhalten. Die durchgeführten Schritte:
eine neue VM installiert (von P4lang Repository).
die simple_switch von MacSEC repo importiert und bearbeitet.
das Program macht nicht was ich erwarte.
Die frage ist, habt ihr etwas am P4c auch geändert, damit das Extern Modul funktionieren kann?
Vielen Dank Nabil