Commit Graph

257 Commits

Author SHA1 Message Date
Nico Schottelius 597d10b33f Add correct parsers 2019-07-29 16:29:12 +02:00
Nico Schottelius 0c68b1b82c ++notes 2019-07-29 10:43:54 +02:00
Nico Schottelius bbe78a44c1 Shift first 2019-07-29 09:40:20 +02:00
Nico Schottelius 62e0279b25 try to emit on ANY other port 2019-07-29 09:37:01 +02:00
Nico Schottelius eed0f3c56e Let's see if 16 == the first port of the other card 2019-07-29 02:00:13 +02:00
Nico Schottelius 53ce47a54e Make it more stupid - forget about tables 2019-07-28 20:08:28 +02:00
Nico Schottelius c3331bcea7 Only use v4_networks() and set default port to 4 2019-07-28 16:56:30 +02:00
Nico Schottelius 58d7d91358 Re-organising 2019-07-28 16:27:53 +02:00
Nico Schottelius db5bae89ad ++ various logs 2019-07-28 13:40:49 +02:00
Nico Schottelius cbf2a05ffd ++notes 2019-07-28 12:19:59 +02:00
Nico Schottelius 1ae0294a39 Re-add table entries in commands.txt 2019-07-27 21:35:47 +02:00
Nico Schottelius 1c661f6990 Try to workaround compiler bug with markers 2019-07-25 15:06:56 +02:00
Nico Schottelius 809466cf61 re-enable other code that might not trigger compiler bug 2019-07-25 14:52:57 +02:00
Nico Schottelius 7bba816f2c v4 if next to v6 if, not to nat64 2019-07-25 14:40:20 +02:00
Nico Schottelius 5478e9fad7 Begin to write defines for netpfga instead of actions 2019-07-24 23:45:40 +02:00
Nico Schottelius a3dd7ee106 ++log 2019-07-24 23:33:09 +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 a055f55c8d ++notes 2019-07-24 22:39:59 +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 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 ee0d500355 [netpfga] phase in first applied tables/nat64 code 2019-07-24 13:08:02 +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 4eabf8cc38 state name change 2019-07-24 09:53:13 +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 93c98323f4 add ifdef for controller actions 2019-07-23 15:50:31 +02:00
Nico Schottelius 6e162ca63b Rewrite the netpfga p4 program 2019-07-23 12:21:49 +02:00
Nico Schottelius 1059e8d0e0 Begin from the beginning: reset to port1 only 2019-07-23 10:20:18 +02:00
Nico Schottelius 5064efda2d ++notes 2019-07-21 22:30:49 +02:00
Nico Schottelius d97864ffa7 +notes -comment 2019-07-21 16:39:15 +02:00
Nico Schottelius 71404d9a58 ++notes 2019-07-21 14:52:43 +02:00
Nico Schottelius 55a363055b ++debug of netfpga compile 2019-07-21 14:37:31 +02:00
Nico Schottelius 2462356e68 log update 2019-07-21 14:08:47 +02:00
Nico Schottelius 9458507ee9 Start pktcnt at 1 instead of 0 2019-07-21 12:15:04 +02:00
Nico Schottelius 6b478c87f1 Try fix shifting errors in first block 2019-07-21 10:50:26 +02:00
Nico Schottelius 266ab1d036 Try fixing shift errors (precendence!) 2019-07-21 10:48:35 +02:00
Nico Schottelius dda1aa9c3c Split ipv4 header into 16 bit words 2019-07-21 10:45:43 +02:00
Nico Schottelius 018e4cc9ff In theory: implement NAT64 from v6 to v4 without externs 2019-07-21 10:23:49 +02:00
Nico Schottelius 020601f463 [checksum] add v6->v4 translations delta based, too 2019-07-17 18:06:49 +02:00
Nico Schottelius 55cc9db975 Fix meaning of "send_to_port1" 2019-07-17 17:41:54 +02:00
Nico Schottelius 831d69fe9c Remove function, because functions don't compile 2019-07-17 17:37:37 +02:00
Nico Schottelius 87d2db4b5f [netpfga] Add default action for matching, remove commands.txt 2019-07-17 17:24:34 +02:00
Nico Schottelius 512fca1349 update checksum code 2019-07-17 15:46:54 +02:00
Nico Schottelius bc90421426 Get rid of negative wrap around 2019-07-16 13:05:13 +02:00
Nico Schottelius 811e4c2b11 Separate checksum addition/subtraction into 2 steps 2019-07-16 12:30:29 +02:00
Nico Schottelius ec48d89c67 get the v6sum 2019-07-16 12:14:46 +02:00
Nico Schottelius ecab110d7c Back to 16 bit arithmetic 2019-07-16 12:06:26 +02:00
Nico Schottelius 1a39c35e3b Check how wrapping is done in P4 2019-07-16 11:53:00 +02:00
Nico Schottelius baa50b91c6 Use own filtering code 2019-07-15 16:53:57 +02:00
Nico Schottelius f0900c3821 update tcp checksumming 2019-07-15 16:48:24 +02:00
Nico Schottelius 26c27cefa8 Change order of complement & filtering 2019-07-15 16:20:51 +02:00
Nico Schottelius a9cc93281e Change testdata offset by 1 and find checksum error 2019-07-13 22:07:53 +02:00
Nico Schottelius c243778bc3 ++log ++change gen_testdata.py 2019-07-13 19:10:05 +02:00
Nico Schottelius 86885760b2 update gen_testdata
- add more packets
- fix counter for one packet
2019-07-13 17:28:03 +02:00
Nico Schottelius 75c185794e ++notes 2019-07-11 10:58:06 +02:00
Nico Schottelius e9997964cd Split of checksumming of bmv2 2019-07-11 10:50:00 +02:00
Nico Schottelius 378e16f48c ++stuff 2019-07-11 08:47:34 +02:00
Nico Schottelius 04d0fbc85a send udp from scapy 2019-07-10 14:37:58 +02:00
Nico Schottelius 476b04c97c ++doc ++egress port 2019-07-10 08:55:07 +02:00
Nico Schottelius ff383e3b08 add test json file for bmv2 2019-07-10 08:44:56 +02:00
Nico Schottelius a69c4060e2 begin implementing diff based checksum in p4 2019-07-06 20:57:11 +02:00
Nico Schottelius ce212ed9e1 Checksums: ipv4 diff not needed; minip4: enable icmp, arp 2019-07-01 11:03:10 +02:00
Nico Schottelius 92e1407729 checksumming part finish 2019-07-01 09:36:14 +02:00
Nico Schottelius b757a3c2b0 Use UDP for testing checksums 2019-06-29 17:13:28 +02:00
Nico Schottelius 80aeaf164a port controller sending code partially to netpfga 2019-06-24 14:24:51 +02:00
Nico Schottelius 0a225479c7 Generate different test data 2019-06-24 13:45:06 +02:00
Nico Schottelius 47a7c966bf Try matching different compiler output 2019-06-24 13:20:20 +02:00
Nico Schottelius 8b8f70e6a0 Begin to introduce commented out code, use metadata 2019-06-24 13:05:42 +02:00
Nico Schottelius 408dd6b782 Delta checksum approach 2019-06-23 14:19:06 +02:00
Nico Schottelius 2b5d5ea62d ++netpfga updates
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-06-17 19:39:07 +02:00
Nico Schottelius 04d174c01f ++ meeting notes 2019-06-17 12:35:12 +02:00
Nico Schottelius 03317a6c11 ++notes 2019-06-17 09:41:17 +02:00
Nico Schottelius 42af5cd2d8 ++ notes 2019-06-15 22:49:54 +02:00
Nico Schottelius 47d49638a8 Try implementing bcast option in gen_testdata 2019-06-12 19:46:22 +02:00
Nico Schottelius dec8a02a26 +doc +log +allports 2019-06-12 19:06:18 +02:00
Nico Schottelius 9cebd4024a ++ notes 2019-06-11 17:54:22 +02:00
Nico Schottelius 36ccd6e021 ++ notes 2019-06-10 11:20:11 +02:00
Nico Schottelius 2130f14d02 add switch to skip long compile step 2019-06-06 22:30:31 +02:00
Nico Schottelius ead0276527 add bin/ with test script for sending 1 packet 2019-06-04 19:41:57 +02:00
Nico Schottelius 5e10401f96 ++doc ++sudo for drivers 2019-06-04 00:21:28 +02:00
Nico Schottelius 63ec17b9a4 begin to integrate headers of real code into netpfga 2019-06-03 22:33:37 +02:00
Nico Schottelius e0226c4c90 try 1 == nf0 2019-06-03 22:01:58 +02:00
Nico Schottelius 442ea1a7da ++doc, use nf3 2019-06-03 21:56:45 +02:00
Nico Schottelius 6c895c583a netpfga: always emit on port1 2019-06-03 21:27:07 +02:00
Nico Schottelius 61b807bd2e ++doc ++setup egress 2019-05-26 11:12:49 +02:00
Nico Schottelius fa254011e6 ++notes 2019-05-26 10:58:35 +02:00
Nico Schottelius 880c228a76 ++ notes 2019-05-25 14:18:06 +02:00
Nico Schottelius 4059701f63 ++netfpga logs 2019-05-20 11:12:48 +02:00
Nico Schottelius 533ae3e080 ++ log netpfga 2019-05-18 15:33:21 +02:00
Nico Schottelius 5592d45e7b ++notes 2019-05-10 23:28:24 +02:00
Nico Schottelius 7be9c01b48 stop processing v6 when matching for nat64 session 2019-05-06 12:50:45 +02:00
Nico Schottelius 0525f2b4b5 [dummy commit] 2019-05-06 12:19:26 +02:00
Nico Schottelius b0b9cd7461 [controller] insert 6->4 session 2019-05-06 12:16:22 +02:00
Nico Schottelius b972accc73 [refactor] nat64 now - not only static mapping anymore 2019-05-05 13:48:05 +02:00
Nico Schottelius 02fc065c1d Begin adding session tables, debug infos 2019-05-02 13:54:31 +02:00
Nico Schottelius 879abe94c2 update doc 2019-04-21 12:24:15 +02:00
Nico Schottelius 079699c687 ++update
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-04-11 10:57:30 +02:00