Commit graph

49 commits

Author SHA1 Message Date
Nico Schottelius
b8897a7b35 Adjust headers to work with netpfga #1
make[1]: Entering directory '/home/nico/master-thesis/netpfga/minip4/src'
p4c-sdnet -o minip4.sdnet --sdnet_info .sdnet_switch_info.dat minip4_solution.p4
headers.p4(12): error: Duplicate declaration of port_t; previous at
typedef bit<9> port_t
               ^^^^^^
/opt/xilinx/SDNet/2018.2/data/p4include/sume_switch.p4(37)
typedef bit<8> port_t;
               ^^^^^^
headers.p4(12): error: port_t: Duplicates declaration port_t
typedef bit<9> port_t;
               ^^^^^^
/opt/xilinx/SDNet/2018.2/data/p4include/sume_switch.p4(37)
typedef bit<8> port_t;
               ^^^^^^
error: 2 errors encountered, aborting compilation
make[1]: *** [Makefile:5: all] Error 1
make[1]: Leaving directory '/home/nico/master-thesis/netpfga/minip4/src'
make: *** [Makefile:31: frontend] Error 2
2019-06-06 22:34:32 +02:00
Nico Schottelius
63ec17b9a4 begin to integrate headers of real code into netpfga 2019-06-03 22:33:37 +02:00
Nico Schottelius
7fedd83959 [p4src] in theory finish source requirements for sessions 2019-05-06 11:51:04 +02:00
Nico Schottelius
02fc065c1d Begin adding session tables, debug infos 2019-05-02 13:54:31 +02:00
Nico Schottelius
bf59808806 Add checksums for udp_6, udp_v4, tcp_v6, tcp_v4 2019-04-11 10:08:11 +02:00
Nico Schottelius
74e4e7034b Trigger ipv4 checksumming after nat64 translation 2019-04-03 11:46:52 +02:00
Nico Schottelius
d87b897069 Add icmp handling / replying 2019-04-03 10:52:25 +02:00
Nico Schottelius
018e9eef09 Begin to add egress / arp support 2019-04-02 17:13:05 +02:00
Nico Schottelius
26605a43e7 Arp is not IPv4 2019-03-31 16:37:21 +02:00
Nico Schottelius
d8d7591647 +header arp 2019-03-31 15:50:07 +02:00
Nico Schottelius
07f0867175 Begin to introduce arp support 2019-03-31 15:48:00 +02:00
Nico Schottelius
ec40bc2c54 s/bool/bit<1>/
Fixing

Invalid entry type 'expression' in field list
bad json:
{
   "type" : "expression",
   "value" : {
      "type" : "expression",
      "value" : {
         "left" : null,
         "op" : "d2b",
         "right" : {
            "type" : "field",
            "value" : [ "scalars", "metadata.chk_icmp6" ]
         }
      }
   }
}
2019-03-30 17:02:18 +01:00
Nico Schottelius
d1cc9d2643 Rewrite one check to bit<1> 2019-03-30 17:01:04 +01:00
Nico Schottelius
f32ad44e0b Refactor #n: go back to generic entry point, use if in apply{} 2019-03-30 14:59:46 +01:00
Nico Schottelius
404d4ff0df Begin checksumming icmp4 2019-03-27 18:01:11 +01:00
Nico Schottelius
1c1eeaf46e + table id bit width 2019-03-25 14:04:11 +01:00
Nico Schottelius
f25d98503f Correct field width 2019-03-25 14:03:04 +01:00
Nico Schottelius
9ca4d4c8de Transport table debug information to controller 2019-03-25 13:43:47 +01:00
Nico Schottelius
c6b1463e17 Debug missing checksum, introduce new field 2019-03-25 13:02:09 +01:00
Nico Schottelius
162ef20072 Checksum the newly parsed fields 2019-03-23 14:39:56 +01:00
Nico Schottelius
9f5a37f7f6 Prepare switch for fully answering NDP/NS query
Including parser which might be broken in case there are no options present
2019-03-23 14:15:31 +01:00
Nico Schottelius
f79033c0c9 Parse down to icmp6_na_ns 2019-03-23 13:33:25 +01:00
Nico Schottelius
7db850a731 [p4] remove "rest" type 2019-03-21 20:48:56 +01:00
Nico Schottelius
e9b08d638c s/bool/bit/ 2019-03-06 13:51:45 +01:00
Nico Schottelius
6dc5f34d43 s/ .. -> do_cksum 2019-03-06 13:51:06 +01:00
Nico Schottelius
8913cb8c3a Still getting json error, trying to short variable name 2019-03-06 13:50:03 +01:00
Nico Schottelius
0ca0b94b1c +notes; Try shifting the cast into the parser 2019-03-06 13:12:06 +01:00
Nico Schottelius
5620add27f Phasing in icmp6 in the switch 2019-03-05 22:31:05 +01:00
Nico Schottelius
59655e0d32 Include correct offset AND debug info 2019-03-04 18:54:00 +01:00
Nico Schottelius
77b21207b9 Fix task width 2019-03-04 18:19:01 +01:00
Nico Schottelius
bc63f5edcf Bitwidth change / adjust 2019-03-04 18:13:34 +01:00
Nico Schottelius
8448e5121b Fix bitwidth 2019-03-04 18:11:08 +01:00
Nico Schottelius
60a3c8d8c5 include ether type in cpu package 2019-03-04 18:05:56 +01:00
Nico Schottelius
91f2788778 re-import tcp_length 2019-03-04 16:25:21 +01:00
Nico Schottelius
ea1873c14c Use types for signalling expected action 2019-03-04 16:23:28 +01:00
Nico Schottelius
28b2bc46f2 Test debug function 2019-03-04 14:22:36 +01:00
Nico Schottelius
4e8da01250 Setup ethertype in egress control 2019-03-04 14:15:44 +01:00
Nico Schottelius
0fa70432d1 [icmp6] forward NDP multicast to controller in correct fashion 2019-03-04 14:07:05 +01:00
Nico Schottelius
7f1e9f6252 Begin icmp6 in controller -> pass special info 2019-03-03 22:36:25 +01:00
Nico Schottelius
b29cf1a296 [p4, controller] hack NDP reply 2019-02-28 10:56:22 +01:00
Nico Schottelius
72c600d8da [NDP] Begin to add multicast / NDP support 2019-02-26 15:30:47 +01:00
Nico Schottelius
c38eb0dfc4 [p4,controller] Begin to add icmp6 echo reply support + more NDP "fixes" 2019-02-23 19:52:01 +01:00
Nico Schottelius
214ccd4479 +headers +parsers [udp, icmp, icmp6] 2019-02-22 00:01:53 +01:00
Nico Schottelius
8bc292564e ++todos ++proto 2019-02-21 23:48:04 +01:00
Nico Schottelius
b795374efb Add tcp_length 2019-02-21 23:27:55 +01:00
Nico Schottelius
64109ce917 +metadata struct 2019-02-21 23:25:27 +01:00
Nico Schottelius
3f15fc6fb4 header cleanup 2019-02-21 23:23:30 +01:00
Nico Schottelius
b6bd281c3a create P4 basis + smaller updates
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-02-21 23:19:17 +01:00
Nico Schottelius
7f904bdcef [P4] basic headers 2019-02-21 23:11:02 +01:00