Commit graph

314 commits

Author SHA1 Message Date
Nico Schottelius
7bba816f2c v4 if next to v6 if, not to nat64 2019-07-25 14:40:20 +02:00
Nico Schottelius
f80ecc1d68 [netpfga] remove icmp support
No payload checksumming...
2019-07-25 14:35:37 +02:00
Nico Schottelius
f60b61288f +} 2019-07-25 14:34:41 +02:00
Nico Schottelius
7bbee9ffa2 [netfpga] phase in ipv4 side of the code 2019-07-25 14:31:23 +02:00
Nico Schottelius
6003d240c6 [netpfga] add all broken defines 2019-07-24 23:51:19 +02:00
Nico Schottelius
5478e9fad7 Begin to write defines for netpfga instead of actions 2019-07-24 23:45:40 +02:00
Nico Schottelius
36e374737c Really, really ugly hack to get the thing compile again
REALLY ugly, but

works.
2019-07-24 23:28:05 +02:00
Nico Schottelius
28f985d9ce Commit broken in between state 2019-07-24 23:22:14 +02:00
Nico Schottelius
c3f540795b [netpfga] document broken if statement case 2019-07-24 22:59:13 +02:00
Nico Schottelius
8c94c1ac09 [netpfga] Fix default actions / cannot have arguments 2019-07-24 22:52:23 +02:00
Nico Schottelius
dc7d78252e Merge full IPv6 handling code from BMV2 side 2019-07-24 22:48:21 +02:00
Nico Schottelius
6b176fdc06 table size up, down, up...
Exact matches don't like 63

actions_nat64_generic.p4(173): error: table size too small for match_type(EM): 63 < 64
        size = 63;
               ^^
actions_nat64_generic.p4(173): error: could not not map table size size
        size = 63;
        ^^^^
2019-07-24 22:42:05 +02:00
Nico Schottelius
4afbf053af [netpfga] change table key to exact instead of LPM
Known bug of netpfga not correctly supporting LPM. Current bug
might be triggered by it:
2019-07-24 22:38:55 +02:00
Nico Schottelius
9e6bb893ac [netpfga] remove ARP support
Due to

minip4_solution.p4(35)
parser RealParser(
       ^^^^^^^^^^
error: table match_types are not the same
actions_arp.p4(35): error: could not map table key(s) KeyElement
            hdr.arp.dst_ipv4_addr: lpm;
            ^^^^^^^^^^^^^^^^^^^^^
Makefile:34: recipe for target 'all' failed
make[1]: *** [all] Error 1

caused by

    table v4_arp {
        key = {
            hdr.ethernet.dst_addr: exact;
            hdr.arp.opcode: exact;
            hdr.arp.dst_ipv4_addr: lpm;
        }
2019-07-24 22:27:36 +02:00
Nico Schottelius
5dcb25a8f2 Fix mis-replacement 2019-07-24 13:22:28 +02:00
Nico Schottelius
306d52176f Set table size to 2^n -1 for everything
Motivated by v6.1 error:

make[1]: Entering directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
p4c-sdnet -o minip4.sdnet --sdnet_info .sdnet_switch_info.dat minip4_solution.p4
actions_egress.p4(52): warning: Table v6_networks is not used; removing
table v6_networks {
      ^^^^^^^^^^^
actions_egress.p4(69): warning: Table v4_networks is not used; removing
table v4_networks {
      ^^^^^^^^^^^
actions_nat64_generic.p4(174): warning: Table nat46 is not used; removing
    table nat46 {
          ^^^^^
minip4_solution.p4(38): [--Wwarn=uninitialized_out_param] warning: out parameter meta may be uninitialized when RealParser terminates
    out metadata meta,
                 ^^^^
minip4_solution.p4(35)
parser RealParser(
       ^^^^^^^^^^
error: LPM table size should be 2^n - 1
actions_nat64_generic.p4(169): error: could not not map table size size
        size = 64;
        ^^^^
error: table match_types are not the same
actions_arp.p4(35): error: could not map table key(s) KeyElement
            hdr.arp.dst_ipv4_addr: lpm;
            ^^^^^^^^^^^^^^^^^^^^^
error: LPM table size should be 2^n - 1
actions_arp.p4(55): error: could not not map table size size
        size = 64;
        ^^^^
Makefile:34: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
Makefile:31: recipe for target 'frontend' failed
make: *** [frontend] Error 2
nico@nsg-System:~/master-thesis/netpfga/log$
2019-07-24 13:20:35 +02:00
Nico Schottelius
91ec194b78 +arp in netpfga 2019-07-24 13:17:56 +02:00
Nico Schottelius
ee0d500355 [netpfga] phase in first applied tables/nat64 code 2019-07-24 13:08:02 +02:00
Nico Schottelius
49e1f511b0 Integrate existing headers 2019-07-24 12:15:26 +02:00
Nico Schottelius
1177008608 logfiles, cleanup 2019-07-24 12:15:11 +02:00
Nico Schottelius
ad8988bb41 Try to add real headers 2019-07-24 12:01:47 +02:00
Nico Schottelius
13ce721862 Include settings into egress for table sizes 2019-07-24 11:57:57 +02:00
Nico Schottelius
6f961db35f -typo 2019-07-24 11:57:16 +02:00
Nico Schottelius
62d5816d9d Merge controller/egress
As they are interdependent
2019-07-24 11:56:27 +02:00
Nico Schottelius
3559637b56 --typo 2019-07-24 11:52:42 +02:00
Nico Schottelius
94e06be245 [netpfga] include UNUSED nat64 actions and tables
Will probably be removed, but need to check whether it still compiles.
2019-07-24 11:45:37 +02:00
Nico Schottelius
327d0b70f9 Introduce sub-control for renaming variables 2019-07-24 11:22:32 +02:00
Nico Schottelius
89161e260e Accept in sub-parser 2019-07-24 09:57:16 +02:00
Nico Schottelius
4eabf8cc38 state name change 2019-07-24 09:53:13 +02:00
Nico Schottelius
850ebb8f0d ----typo 2019-07-24 09:52:02 +02:00
Nico Schottelius
e33830203a --typo 2019-07-24 09:51:29 +02:00
Nico Schottelius
916291b307 -syntax error 2019-07-24 09:50:52 +02:00
Nico Schottelius
44d74297ff Introduce sub-parser to retain sanity [try1/inf] 2019-07-24 09:49:17 +02:00
Nico Schottelius
181870d14d reset the code base to working version again
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-07-24 09:36:24 +02:00
Nico Schottelius
9368312ff3 remove everything, but variable renamings
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-07-24 09:12:24 +02:00
Nico Schottelius
7ab4510c36 Adjust both solutions to be more similar
minip4_solution and minip4_solution-mirror are now the same besides
variable renaming.
2019-07-23 23:20:41 +02:00
Nico Schottelius
6b2379b5b9 Delete empty log files 2019-07-23 21:53:34 +02:00
Nico Schottelius
65e7893245 Revert everything besides naming 2019-07-23 20:33:09 +02:00
Nico Schottelius
ad004bec67 re-inroduce general meta, replacing user_metadata 2019-07-23 16:25:44 +02:00
Nico Schottelius
7e9dbe69da revert to user_metadata_t for this test 2019-07-23 16:10:28 +02:00
Nico Schottelius
e6951c6210 [netpfga] re-introduce old parser, rename variables 2019-07-23 16:06:18 +02:00
Nico Schottelius
1be73a0e50 Include commented all logic from checksum_diff.p4 2019-07-23 15:56:27 +02:00
Nico Schottelius
93c98323f4 add ifdef for controller actions 2019-07-23 15:50:31 +02:00
Nico Schottelius
f44386b6b8 Include the right DEparser 2019-07-23 15:02:27 +02:00
Nico Schottelius
d68be5010d [netpfga] add generic deparser, took
Trying to fix late stage compile error
2019-07-23 15:00:26 +02:00
Nico Schottelius
23a64da1f4 [netpfga] naming change 2019-07-23 12:35:00 +02:00
Nico Schottelius
6fce1d7f7d Move digest handling into parser 2019-07-23 12:32:59 +02:00
Nico Schottelius
e72265df47 [netpfga] adjust names to use new bmv2 style naming 2019-07-23 12:26:59 +02:00
Nico Schottelius
cae8e6c7c0 [netfpga] import generic parser 2019-07-23 12:22:31 +02:00
Nico Schottelius
6e162ca63b Rewrite the netpfga p4 program 2019-07-23 12:21:49 +02:00