Commit graph

250 commits

Author SHA1 Message Date
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
Nico Schottelius
bf59808806 Add checksums for udp_6, udp_v4, tcp_v6, tcp_v4 2019-04-11 10:08:11 +02:00
Nico Schottelius
6c3393e941 next steps, use noaction to avoid clone3() and breaking ndp 2019-04-08 15:59:28 +02:00
Nico Schottelius
8547bf76c9 ++doc update
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-04-03 12:52:17 +02:00
Nico Schottelius
fc5e56e809 Add ping4 test from ipv4 host 2019-04-03 12:50:19 +02:00
Nico Schottelius
71d1e86d3f Setup the cast_length in icmp->icmp6 translations 2019-04-03 12:44:00 +02:00
Nico Schottelius
9d2f418f78 Remove cloning on table miss 2019-04-03 12:38:55 +02:00
Nico Schottelius
6f4079d0aa Use the correct egress table (c&p--!) 2019-04-03 12:29:18 +02:00
Nico Schottelius
2c9f4923b6 ++notes -remove unused debugging code 2019-04-03 12:02:40 +02:00
Nico Schottelius
74e4e7034b Trigger ipv4 checksumming after nat64 translation 2019-04-03 11:46:52 +02:00
Nico Schottelius
0f2df2723b Set mac address based on destination network [HACK] 2019-04-03 11:31:29 +02:00
Nico Schottelius
cb919ef926 Document state 2019-04-03 11:14:57 +02:00
Nico Schottelius
fb02ca1a7f Set checksum flag for icmp 2019-04-03 10:56:32 +02:00
Nico Schottelius
d87b897069 Add icmp handling / replying 2019-04-03 10:52:25 +02:00
Nico Schottelius
decdb50b2d ++notes 2019-04-02 17:13:40 +02:00
Nico Schottelius
55aab8cc84 Fix test to use correct host 2019-04-02 17:05:53 +02:00
Nico Schottelius
30dcc0af81 Try to outsmart the compiler with the arp table
Adressing

p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(366): error: Program is not supported by this target, because table MyIngress.v6_networks has multiple successors
    table v6_networks {
          ^^^^^^^^^^^
Compilation Error
2019-03-31 16:40:44 +02:00
Nico Schottelius
80d2d34ccb ++doc ++clean table 2019-03-31 16:04:05 +02:00
Nico Schottelius
07f0867175 Begin to introduce arp support 2019-03-31 15:48:00 +02:00
Nico Schottelius
badc6c0dd1 Shrink down json for switch 2019-03-31 11:10:52 +02:00
Nico Schottelius
c5a3be5ccf Remove / replace default route on ipv4 hosts 2019-03-31 10:51:47 +02:00
Nico Schottelius
801b4d818e Fix total_length by adding 15 bytes 2019-03-30 18:11:04 +01:00
Nico Schottelius
cd3084d8f9 rewrite checksum triggers in ndp/echo reply 2019-03-30 17:19:17 +01:00
Nico Schottelius
74657385b2 Remove unused controller code 2019-03-30 17:14:48 +01:00
Nico Schottelius
33117f0ca8 Remove unused tables 2019-03-30 17:12:34 +01:00
Nico Schottelius
0903d71a49 ++ upgrade log 2019-03-30 16:47:40 +01:00
Nico Schottelius
92163d46ef Begin NAT46 translation of ICMP->ICMP6 2019-03-30 16:35:52 +01:00
Nico Schottelius
7d3acfc06a ++ doc update 2019-03-30 15:06:33 +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
3b558f84d1 ++ notes 2019-03-27 19:44:25 +01:00
Nico Schottelius
ac96fe467d Commit sketch tables for reference 2019-03-27 18:59:35 +01:00
Nico Schottelius
12658b23ac Use an action to do the same thing as before 2019-03-27 18:22:37 +01:00
Nico Schottelius
7d9e9e1cfd Replace switch in action with multiple if's
p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(60): error: SwitchStatement: switch statements not allowed in actions
        switch(hdr.icmp6.type) {
        ^^^^^^
2019-03-27 18:05:59 +01:00
Nico Schottelius
404d4ff0df Begin checksumming icmp4 2019-03-27 18:01:11 +01:00
Nico Schottelius
e349de5859 Change protocol in case of icmp6->icmp 2019-03-27 13:49:39 +01:00
Your Name
5f946ff6b6 +pcap: static_nat64-2019-03-26-2107-h1.pcap 2019-03-26 21:13:34 +00:00
Nico Schottelius
0540b43f7f Reorder controller startup 2019-03-26 21:56:32 +01:00
Nico Schottelius
7c3bcceb29 ++ notes 2019-03-25 14:37:33 +01:00
Nico Schottelius
9ca4d4c8de Transport table debug information to controller 2019-03-25 13:43:47 +01:00
Nico Schottelius
236bd8e7d6 Debug send ipv4 packets to controller 2019-03-25 13:09:29 +01:00
Nico Schottelius
c6b1463e17 Debug missing checksum, introduce new field 2019-03-25 13:02:09 +01:00
Nico Schottelius
905f51fba3 Add checksum marker 2019-03-25 12:56:54 +01:00
Nico Schottelius
42f5e00e74 Document double/triple matching 2019-03-25 11:51:36 +01:00
Nico Schottelius
f4372580c4 Begin to write down lpm problem 2019-03-25 11:13:21 +01:00
Nico Schottelius
a408d7a803 + reorg +add simple nat64 w/o protocol specific translations 2019-03-23 16:20:13 +01:00
Nico Schottelius
4972f550d8 ++doc 2019-03-23 15:20:15 +01:00
Nico Schottelius
4d610a5cb5 Remove unecessary arg to icmp6_echo_reply 2019-03-23 15:14:17 +01:00
Nico Schottelius
4d3641fc50 Also add required icmp6_type 2019-03-23 15:07:07 +01:00
Nico Schottelius
5f14967a32 Introduce the icmp6 table 2019-03-23 15:03:42 +01:00
Nico Schottelius
162ef20072 Checksum the newly parsed fields 2019-03-23 14:39:56 +01:00
Nico Schottelius
63deff0a5c +logtrail 2019-03-23 14:31:27 +01:00
Nico Schottelius
f79033c0c9 Parse down to icmp6_na_ns 2019-03-23 13:33:25 +01:00
Nico Schottelius
ece52e4915 ++ sniff-host command 2019-03-21 20:36:01 +01:00
Nico Schottelius
87d4154753 Rename test && fix return 2019-03-20 00:04:21 +01:00
Nico Schottelius
c89441001b try 42: ndp in the switch. this episode is with checksums... 2019-03-19 23:49:49 +01:00
Nico Schottelius
2a623a0807 ++ info ++ link local 2019-03-19 23:21:40 +01:00
Nico Schottelius
4c9573d8e0 ++notes 2019-03-19 23:03:10 +01:00
Nico Schottelius
880db528e7 Mute multicast registrations (MLDv2) 2019-03-19 23:01:55 +01:00
Nico Schottelius
809110edc7 Debug print to controller by default, not dropping 2019-03-19 21:03:10 +01:00
Nico Schottelius
602c52d8bb Add first test in test.py 2019-03-14 20:19:50 +01:00
Nico Schottelius
74f5575cd0 Reduce routing size for testing 2019-03-14 17:26:40 +01:00
Nico Schottelius
1dd33177f1 eUpdate prefix/network for mapped v4 network 2019-03-14 14:56:52 +01:00
Nico Schottelius
7c8f019b2a ++ nat64 update, discussion update 2019-03-14 14:37:45 +01:00
Nico Schottelius
b5cd3aeb0e doc + gitignore for p4src 2019-03-14 14:12:50 +01:00
Nico Schottelius
472a104e2b ++ doc update ++ nat64_static / P4 begin 2019-03-14 14:05:17 +01:00
Nico Schottelius
a25da0f0df Try to shrink down bool bug code 2019-03-06 19:33:24 +01:00
Nico Schottelius
ee62eb32c3 ++notes; try to cast & save payload_length in ingress 2019-03-06 17:37:30 +01:00
Nico Schottelius
e0a9d28606 Introduce mixed mode NDP/ICMP6 echo reply
- Controller: NDP
- Switch: icmp6 echo reply
2019-03-06 17:23:01 +01:00
Nico Schottelius
a0acd719e7 ++notes 2019-03-06 15:22:57 +01:00
Nico Schottelius
591175db7a Re-re-re-try to do checkumming based on a meta field 2019-03-06 15:15:46 +01:00
Nico Schottelius
f7fc8ef412 ++notes ++begin nat64 prefix 2019-03-06 14:07:47 +01:00
Nico Schottelius
6497db857c & remove checksumming again 2019-03-06 13:59:41 +01:00
Nico Schottelius
22da39377e Begin router support 2019-03-06 13:48:02 +01:00
Nico Schottelius
0ca0b94b1c +notes; Try shifting the cast into the parser 2019-03-06 13:12:06 +01:00
Nico Schottelius
8832069536 +-comment 2019-03-05 22:32:31 +01:00
Nico Schottelius
5620add27f Phasing in icmp6 in the switch 2019-03-05 22:31:05 +01:00
Nico Schottelius
81f89fe87a try resetting cksum (again) 2019-03-05 21:49:50 +01:00
Nico Schottelius
12097d0085 ++ unchecked checksums 2019-03-05 21:22:55 +01:00
Nico Schottelius
356f664019 ++doc
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-03-05 16:48:07 +01:00
Nico Schottelius
dd6986cf60 Disable multicast catchall by default 2019-03-05 16:19:43 +01:00
Nico Schottelius
3acbf88242 ++ todos 2019-03-05 16:14:36 +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
21d1b82416 [p4+plan] Try casting payload length to 32 2019-02-28 11:03:01 +01:00
Nico Schottelius
b29cf1a296 [p4, controller] hack NDP reply 2019-02-28 10:56:22 +01:00
Nico Schottelius
2081d30136 [controller] re-enable ipv6 for ALL interfaces 2019-02-26 18:52:28 +01:00
Nico Schottelius
72c600d8da [NDP] Begin to add multicast / NDP support 2019-02-26 15:30:47 +01:00
Nico Schottelius
6895a6ab34 Create multicast groups for NDP support 2019-02-26 15:08:53 +01:00
Nico Schottelius
8ca0c7fdf4 [controller] Add support in hosts for link local 2019-02-24 20:13:42 +01:00
Nico Schottelius
949560c995 [controller,p4] add debug print into controller 2019-02-24 15:53:10 +01:00
Nico Schottelius
a5c8be40be [p4] begin icmp6 checksum 2019-02-23 21:05:46 +01:00
Nico Schottelius
c4a4e370f0 ++todos; begin router mode 2019-02-23 18:58:04 +01:00
Nico Schottelius
c2133dc40f [doc] add ipaddress bug note 2019-02-23 18:03:35 +01:00
Nico Schottelius
5903529c0e [controller] avoid key error [doc] python2 issue 2019-02-23 15:32:03 +01:00
Nico Schottelius
bec7dc548e Begin to implement egress handling, make controller usable, update notes 2019-02-23 14:22:46 +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
c64e6d3950 [controller] +arg 2019-02-21 23:38:45 +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
71825d21bd all doc in one dir
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-02-21 20:32:21 +01:00
Nico Schottelius
1b835726ad import template from edgar
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
2019-02-21 20:29:50 +01:00
Nico Schottelius
480e6e1612 ++ plan 2019-02-21 11:09:56 +01:00
Nico Schottelius
acf367a556 ++ update 2019-02-21 08:39:38 +01:00
Nico Schottelius
23fa20f73f Plan update 2019-02-21 08:38:24 +01:00
Nico Schottelius
d2c79bd3a3 ++ plan 2019-02-20 16:50:17 +01:00
Nico Schottelius
a8285e72b4 ++ plan 2019-02-20 13:31:21 +01:00
Nico Schottelius
e1a6e8c6ed First brainstorm of tasks 2019-02-20 13:01:57 +01:00
Nico Schottelius
b02baff565 ++ init 2019-02-20 12:37:39 +01:00