Commit graph

200 commits

Author SHA1 Message Date
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
f7fc8ef412 ++notes ++begin nat64 prefix 2019-03-06 14:07:47 +01:00
Nico Schottelius
25405a6ae1 [controller] stringify router 2019-03-06 14:00:35 +01:00
Nico Schottelius
22da39377e Begin router support 2019-03-06 13:48:02 +01:00
Nico Schottelius
5620add27f Phasing in icmp6 in the switch 2019-03-05 22:31:05 +01:00
Nico Schottelius
7e2262cab5 Create answer 2019-03-05 22:06:17 +01:00
Nico Schottelius
6123dbfe86 self focused 2019-03-05 22:05:26 +01:00
Nico Schottelius
c9f8831865 icmp6 echo reply 2019-03-05 22:04:04 +01:00
Nico Schottelius
81f89fe87a try resetting cksum (again) 2019-03-05 21:49:50 +01:00
Nico Schottelius
7d53abef6d Try deleting all chksums 2019-03-05 21:37:38 +01:00
Nico Schottelius
12097d0085 ++ unchecked checksums 2019-03-05 21:22:55 +01:00
Nico Schottelius
e4dd6eee93 Try v6 checksum instead of icmp6 2019-03-05 21:04:07 +01:00
Nico Schottelius
6f28013bb3 Change icmp6 (sub-)type 2019-03-05 20:15:55 +01:00
Nico Schottelius
3c215f6054 Unset router bit 2019-03-05 20:12:24 +01:00
Nico Schottelius
ec8d8abff4 Checksum in scapy: none = recalc 2019-03-05 19:56:11 +01:00
Nico Schottelius
23fa17d01d answer -> pkg 2019-03-05 17:09:17 +01:00
Nico Schottelius
253353daf5 Introduce more logging levels 2019-03-05 17:08:31 +01:00
Nico Schottelius
481675372d lladdr == src in this context 2019-03-05 17:01:21 +01:00
Nico Schottelius
a139ad6e83 Initial icmp6_na support in controller 2019-03-05 16:59:27 +01:00
Nico Schottelius
dd6986cf60 Disable multicast catchall by default 2019-03-05 16:19:43 +01:00
Nico Schottelius
69e483caf7 Use correct switch suffix 2019-03-05 16:15:54 +01:00
Nico Schottelius
3acbf88242 ++ todos 2019-03-05 16:14:36 +01:00
Nico Schottelius
29ff9e2333 Correct suffix to hex 2019-03-04 19:06:09 +01:00
Nico Schottelius
e51ed3ffcd Change action argument order
Fixing:

Invalid runtime data: Error while parsing 2001:db8::2a - Invalid input, could not cast to integer, try in hex with 0x prefix
Invalid runtime data: Error while parsing ff02::1:ff00:2a - Invalid input, could not cast to integer, try in hex with 0x prefix
Invalid runtime data: Error while parsing 2001:db8:0:1::2a - Invalid input, could not cast to integer, try in hex with 0x prefix
Invalid runtime data: Error while parsing ff02::1:ff00:2a - Invalid input, could not cast to integer, try in hex with 0x prefix
2019-03-04 19:02:28 +01:00
Nico Schottelius
cb67188780 Begin switching in controler based on task 2019-03-04 18:58:22 +01:00
Nico Schottelius
a274dcbcb8 commit correct stuff 2019-03-04 18:55:25 +01:00
Nico Schottelius
59655e0d32 Include correct offset AND debug info 2019-03-04 18:54:00 +01:00
Nico Schottelius
766dbba5c3 ++ 2019-03-04 18:41:10 +01:00
Nico Schottelius
7338580517 ++fix 2019-03-04 18:40:12 +01:00
Nico Schottelius
9771591a9d -bug 2019-03-04 18:39:09 +01:00
Nico Schottelius
6c1da54035 syntax 2019-03-04 18:38:08 +01:00
Nico Schottelius
816f11c864 Get shift from cpuheader def 2019-03-04 18:37:33 +01:00
Nico Schottelius
b465b366ea Adjust payload shift 2019-03-04 18:31:20 +01:00
Nico Schottelius
877359aaca Correct length of task field 2019-03-04 18:16:18 +01:00
Nico Schottelius
7ff09db32a Shift payload / ipv6 in cpu packet 2019-03-04 18:15:00 +01:00
Nico Schottelius
f9925ce4c2 Import XShortEnumField 2019-03-04 18:08:10 +01:00
Nico Schottelius
e2b382119a use header type from switch 2019-03-04 18:07:00 +01:00
Nico Schottelius
60a3c8d8c5 include ether type in cpu package 2019-03-04 18:05:56 +01:00
Nico Schottelius
440782c569 I am confused 2019-03-04 17:50:38 +01:00
Nico Schottelius
46b0f16f0d ++debug 2019-03-04 16:40:05 +01:00
Nico Schottelius
542b4ddd50 rename to v4networks 2019-03-04 16:38:06 +01:00
Nico Schottelius
d558537367 -typo 2019-03-04 16:26:03 +01:00
Nico Schottelius
ea1873c14c Use types for signalling expected action 2019-03-04 16:23:28 +01:00
Nico Schottelius
da7fda57bf ++ 2019-03-04 15:38:42 +01:00
Nico Schottelius
c60b5f2d9e pass in prefix len 2019-03-04 15:38:16 +01:00
Nico Schottelius
cf844477a9 typo 2019-03-04 15:34:46 +01:00
Nico Schottelius
4b52b12846 + debug + stringify 2019-03-04 15:34:12 +01:00
Nico Schottelius
615e0f89ef Use int for masks 2019-03-04 15:32:27 +01:00
Nico Schottelius
77e92b12be Refactor code for ipaddress support 2019-03-04 15:30:38 +01:00
Nico Schottelius
3047750add use network_address for multicast base 2019-03-04 15:01:12 +01:00
Nico Schottelius
3dc56677a1 derive addr from addr not dict 2019-03-04 14:59:44 +01:00
Nico Schottelius
7c3cb5a368 +args fix 2019-03-04 14:57:27 +01:00
Nico Schottelius
6fea6ed19f -import error 2019-03-04 14:56:52 +01:00
Nico Schottelius
dddcc306e3 -typo 2019-03-04 14:56:09 +01:00
Nico Schottelius
fbadfddee8 [icmp6] add dedicated multicast address listener 2019-03-04 14:48:15 +01:00
Nico Schottelius
6f83eeddb2 Keep packet type correct for multicast / ndp 2019-03-04 14:27:12 +01:00
Nico Schottelius
142bc29c82 -typo 2019-03-04 14:24:28 +01:00
Nico Schottelius
1b59727708 Improve controller robustness 2019-03-04 14:24:02 +01:00
Nico Schottelius
28b2bc46f2 Test debug function 2019-03-04 14:22:36 +01:00
Nico Schottelius
d1433c3e0b [icmp6] don' iterate over multicast network 2019-03-04 14:11:55 +01:00
Nico Schottelius
0fa70432d1 [icmp6] forward NDP multicast to controller in correct fashion 2019-03-04 14:07:05 +01:00
Nico Schottelius
4c331dc296 adjust table/action 2019-03-03 22:37:58 +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
2081d30136 [controller] re-enable ipv6 for ALL interfaces 2019-02-26 18:52:28 +01:00
Nico Schottelius
0ea9e708de [p4] If non matching ndp -> escalate to controller 2019-02-26 15:53:48 +01:00
Nico Schottelius
ed27a8e77c [controller] stringify all parts for the table 2019-02-26 15:49:47 +01:00
Nico Schottelius
38995d913c [p4 debug] how to add the port 2019-02-26 15:47:55 +01:00
Nico Schottelius
a92a9b82ea [NDP] try to pass in port as integer 2019-02-26 15:42:56 +01:00
Nico Schottelius
5bd7eb57a6 [NDP] try different notation of IPv6 address
Getting this error:

Invalid match key: Error while parsing 1 - Invalid input, could not cast to integer, try in hex with 0x prefix
Invalid match key: Error while parsing 2 - Invalid input, could not cast to integer, try in hex with 0x prefix
Invalid match key: Error while parsing 3 - Invalid input, could not cast to integer, try in hex with 0x prefix
Invalid match key: Error while parsing 4 - Invalid input, could not cast to integer, try in hex with 0x prefix

Suspecting that the code is not able to parse "ff02::1:ff00:0/104"
2019-02-26 15:37:41 +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
a420c7e6d8 [controller] debug use __repr__() 2019-02-24 15:58:15 +01:00
Nico Schottelius
1fbbbbbd52 [controller] --bug 2019-02-24 15:54:32 +01:00
Nico Schottelius
949560c995 [controller,p4] add debug print into controller 2019-02-24 15:53:10 +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
6b601a09f7 [controller] table name correction 2019-02-23 19:03:34 +01:00
Nico Schottelius
7f0427a4f2 [controller] fix v6addr port 2019-02-23 19:02:38 +01:00
Nico Schottelius
c4a4e370f0 ++todos; begin router mode 2019-02-23 18:58:04 +01:00
Nico Schottelius
2cafdc5e12 [controller] ipv4 network switch fix 2019-02-23 18:28:47 +01:00
Nico Schottelius
4251379bc6 [controller] ++args 2019-02-23 18:27:09 +01:00
Nico Schottelius
bc390a21ea [controller] save args in class 2019-02-23 18:26:34 +01:00
Nico Schottelius
4e5f3c65a0 [controller] ++ debug output 2019-02-23 18:25:53 +01:00
Nico Schottelius
bd49e36544 [controller] remove // in ip address concat 2019-02-23 18:20:07 +01:00
Nico Schottelius
7928866b3b [controller] python2.7 subprocess change 2019-02-23 18:19:00 +01:00
Nico Schottelius
abff485183 [controller] staticmethod 2019-02-23 18:17:00 +01:00
Nico Schottelius
f9ec915449 [controller] Workaround python 2.7 / ipaddres bug 2019-02-23 18:14:34 +01:00
Nico Schottelius
5903529c0e [controller] avoid key error [doc] python2 issue 2019-02-23 15:32:03 +01:00
Nico Schottelius
f5b9baff78 [controller] setup IPv6 hosts 2019-02-23 15:13:47 +01:00
Nico Schottelius
8a14c40c7b [controller] clear tables before filling 2019-02-23 14:49:18 +01:00
Nico Schottelius
e92742f9c0 [controller] move post config part out of init() 2019-02-23 14:39:26 +01:00
Nico Schottelius
8d4402a0e5 [controller] order matters 2019-02-23 14:36:19 +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
c64e6d3950 [controller] +arg 2019-02-21 23:38:45 +01:00
Nico Schottelius
58ee92f46f Add very basic controller 2019-02-21 23:38:09 +01:00
Nico Schottelius
07e7d6f859 --typo 2019-02-21 23:22:21 +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
186f9e36aa Create static mapping switch (basically L2) 2019-02-21 20:22:19 +01:00