Begin icmp6 in controller -> pass special info

This commit is contained in:
Nico Schottelius 2019-03-03 22:36:25 +01:00
commit 7f1e9f6252
5 changed files with 81 additions and 22 deletions

View file

@ -7,6 +7,8 @@
| | Write mail / phone | x |
| 2019-02-22 | Have all papers handed in | |
| | | |
| 2019-02-22 | Have rough definition of tasks | x |
| | | |
| 2019-02-23 | python2 / ipaddress is buggy | x |
| | p4utils is python2 only support | |
| | bmpy_utils is not installable with pip | |
@ -29,24 +31,42 @@
| | * Reading about multicast / trying to figure out dynamic membership | |
| | | |
| | - Challenges | |
| | * Some issues with python2 (ipaddr) - slowing down | |
| | * Some issues with python2 (ipaddr) - slowing down | x |
| | https://github.com/phihag/ipaddress/issues/46 | |
| | * Forwarded and received icmp6 packets are not "accepted" | |
| | | |
| | - Questions | |
| | * Re-using code (lee howard) | |
| | * Multicast | |
| | * A lot of redundant code / different tables / repeating | |
| | * Multicast: in controller | x |
| | * Re-using code (lee howard) -> ok & mention | x |
| | * A lot of redundant code / different tables / repeating: use if's | x |
| | * 65k parsing is insane | x |
| | | |
| | - Next steps: | |
| | * Supporting MLD | |
| | * Save stuff in the controller | |
| | * checkout ipaddr bug / status | |
| | * Variable length / icmp6 in the controller | |
| | * Go simple... | |
| | * Meeting Edgar & Alexander week after | |
| | * Summary on Slack | |
| | * 1130 meeting now | |
| | | |
| 2019-03-01 | Feature list / priority list / roadmap clear | x |
| | Joining P4 Slack | |
| | | |
| 2019-03-03 | icmp6 revised: | |
| | - add address to table for forwarding to controller | x |
| | - select correct format for forwarding | |
| | - decode in controller | |
| | - send back to switch | |
| | - test with host | |
| | | |
| | | |
| 2019-02-22 | Have rough definition of tasks | |
| 2019-03-01 | Feature list / priority list / roadmap clear | |
| 2019-03-08 | NAT46 1:1 table TCP/UDP working | |
| 2019-03-15 | NAT46 1:1 table ICMP, ICMPv6 working | |
| 2019-03-08 | NAT46 1:1 table ICMP, ICMPv6 working | |
| | Will need some switch local ip addresses | |
| | | |
| 2019-03-15 | NAT46 1:1 table TCP/UDP working | |
| | | |
| 2019-03-29 | Jool SIIT / range / offset support https://www.jool.mx/en/run-vanilla.html | |
| | Jool EAMT support https://www.jool.mx/en/run-eam.html | |
| | Bidirectional support | |
@ -86,12 +106,14 @@
**** DONE Parse icmp
**** DONE Parse icmpv6
**** DONE Add (static) egress configuration
**** DONE Calculate ICMP6 checksums
**** TODO Calculate ICMP6 checksums
***** Need to include the payload!?!!
**** TODO Implement minimal neighbor discovery
***** TODO For the switch
****** DONE Register IPv6 address in table
****** TODO Parse ICMPv6 up to neighbor solicitation
****** TODO Use NDP (Neighbor Solicitation (NDP) , Neighbor Advertisement (NDP))
****** DONE Parse ICMPv6 up to neighbor solicitation -> no: checksum problem
****** DONE Use NDP (Neighbor Solicitation (NDP) , Neighbor Advertisement (NDP)) -> no: controller
****** Approach 2: use cpu header, forward information to controller
***** TODO For other nodes -> multicast
***** TODO Maybe implement link local addresses (missing at the moment)
****** ff02::/??
@ -397,21 +419,18 @@ listening on h1-eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
4 packets received by filter
0 packets dropped by kernel
root@ubuntu:~/master-thesis#
***** When pinging we see
DEBUG:main:INCOMING: <Ether dst=33:33:ff:00:00:42 src=00:00:0a:00:00:01 type=0x86dd |<IPv6 version=6 tc=0 fl=0 plen=32 nh=ICMPv6 hlim=255 src=2001:db8:61::1 dst=ff02::1:ff00:42 |<ICMPv6ND_NS type=Neighbor Solicitation code=0 cksum=0xd343 res=0 tgt=2001:db8:61::42 |<ICMPv6NDOptSrcLLAddr type=1 len=1 lladdr=00:00:0a:00:00:01 |>>>>
DEBUG:main:INCOMING: <Ether dst=33:33:ff:00:00:42 src=00:00:0a:00:00:01 type=0x86dd |<IPv6 version=6 tc=0 fl=0 plen=32 nh=ICMPv6 hlim=255 src=2001:db8:61::1 dst=ff02::1:ff00:42 |<ICMPv6ND_NS type=Neighbor Solicitation code=0 cksum=0xd343 res=0 tgt=2001:db8:61::42 |<ICMPv6NDOptSrcLLAddr type=1 len=1 lladdr=00:00:0a:00:00:01 |>>>>
DEBUG:main:INCOMING: <Ether dst=33:33:ff:00:00:42 src=00:00:0a:00:00:01 type=0x86dd |<IPv6 version=6 tc=0 fl=0 plen=32 nh=ICMPv6 hlim=255 src=2001:db8:61::1 dst=ff02::1:ff00:42 |<ICMPv6ND_NS type=Neighbor Solicitation code=0 cksum=0xd343 res=0 tgt=2001:db8:61::42 |<ICMPv6NDOptSrcLLAddr type=1 len=1 lladdr=00:00:0a:00:00:01 |>>>>
***** Hosts
****** Left side: IPv6
****** Right side: IPv4
***** Included in the header
**** Requirements
-
*** Performance comparison
*** Feature/Functionality difference / overview
**** Not included