++notes ++begin nat64 prefix
This commit is contained in:
parent
25405a6ae1
commit
f7fc8ef412
2 changed files with 17 additions and 3 deletions
19
doc/plan.org
19
doc/plan.org
|
@ -64,14 +64,16 @@
|
||||||
| 2019-03-06 | Meet Laurent #3 | |
|
| 2019-03-06 | Meet Laurent #3 | |
|
||||||
| | - Checksum's in scapy | |
|
| | - Checksum's in scapy | |
|
||||||
| | - Python2 ipaddress fix (import future) | |
|
| | - Python2 ipaddress fix (import future) | |
|
||||||
|
| | - Added custom package format / additional information in packet | |
|
||||||
|
| | - (partial) NDP working in controller | |
|
||||||
| | - P4 checksum_with_payload | |
|
| | - P4 checksum_with_payload | |
|
||||||
| | - Reading scapy / inet6 | |
|
| | - Reading scapy / inet6 | |
|
||||||
| | - Further checksum tests -> required everywhere in IPv6 | |
|
| | - Further checksum tests -> required everywhere in IPv6 | |
|
||||||
| | - (partial) NDP working in controller | |
|
|
||||||
| | - icmp6 echo request working in controller | |
|
| | - icmp6 echo request working in controller | |
|
||||||
| | - Hosts can ping6 the switch | |
|
| | - Hosts can ping6 the switch | |
|
||||||
| | - Ran into P4 casting bug: https://github.com/p4lang/p4c/issues/1765 | |
|
| | - Ran into P4 casting bug: https://github.com/p4lang/p4c/issues/1765 | |
|
||||||
| | -> seems to be more than just casting bug | |
|
| | -> seems to be more than just casting bug | |
|
||||||
|
| | - Default route for ipv6 hosts | |
|
||||||
| | | |
|
| | | |
|
||||||
| | Next target: | |
|
| | Next target: | |
|
||||||
| | - Focus on enabling the "Internet" with ICMP6 translation | |
|
| | - Focus on enabling the "Internet" with ICMP6 translation | |
|
||||||
|
@ -171,7 +173,7 @@ DEBUG:main:cpu = <CpuHeader task=ICMP6_NS ingress_port=1 type=0x86dd |<Raw loa
|
||||||
DEBUG:main:o=<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::1 dst=ff02::1:ff00:42 |<ICMPv6ND_NS type=Neighbor Solicitation code=0 cksum=0xd3a4 res=0 tgt=2001:db8::42 |<ICMPv6NDOptSrcLLAddr type=1 len=1 lladdr=00:00:0a:00:00:01 |>>>>
|
DEBUG:main:o=<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::1 dst=ff02::1:ff00:42 |<ICMPv6ND_NS type=Neighbor Solicitation code=0 cksum=0xd3a4 res=0 tgt=2001:db8::42 |<ICMPv6NDOptSrcLLAddr type=1 len=1 lladdr=00:00:0a:00:00:01 |>>>>
|
||||||
DEBUG:main:Doing neighbor solicitation
|
DEBUG:main:Doing neighbor solicitation
|
||||||
|
|
||||||
***** TODO For other nodes -> multicast
|
***** DONE For other nodes -> multicast
|
||||||
***** TODO Maybe implement link local addresses (missing at the moment)
|
***** TODO Maybe implement link local addresses (missing at the moment)
|
||||||
****** ff02::/??
|
****** ff02::/??
|
||||||
****** rfc4861
|
****** rfc4861
|
||||||
|
@ -185,7 +187,17 @@ multicast address of the target address."
|
||||||
|
|
||||||
**** DONE Make switch answer icmp6 echo request for
|
**** DONE Make switch answer icmp6 echo request for
|
||||||
**** TODO Make switch answer icmp echo request for
|
**** TODO Make switch answer icmp echo request for
|
||||||
**** TODO Add default route for v6 and v4 hosts
|
**** DONE Add default route for v6 hosts
|
||||||
|
p4@ubuntu:~/master-thesis$ mx h1 ip -6 r
|
||||||
|
sudo: unable to resolve host ubuntu
|
||||||
|
2001:db8::/64 dev h1-eth0 proto kernel metric 256 pref medium
|
||||||
|
fe80::/64 dev h1-eth0 proto kernel metric 256 pref medium
|
||||||
|
default via 2001:db8::42 dev h1-eth0 metric 1024 pref medium
|
||||||
|
p4@ubuntu:~/master-thesis$
|
||||||
|
**** TODO Add default route for v4 hosts
|
||||||
|
**** TODO Translate ipv6 --> ipv4 with a (freely programmable) prefix
|
||||||
|
***** TODO Insert prefix into switch
|
||||||
|
***** TODO Implement the calculation
|
||||||
**** TODO Translate icmp <-> icmp6
|
**** TODO Translate icmp <-> icmp6
|
||||||
**** TODO Create table entry for mapping v4->v6 [net]
|
**** TODO Create table entry for mapping v4->v6 [net]
|
||||||
**** TODO Create table entry for mapping v6->v4 [net]
|
**** TODO Create table entry for mapping v6->v4 [net]
|
||||||
|
@ -512,6 +524,7 @@ DEBUG:main:INCOMING: <Ether dst=33:33:ff:00:00:42 src=00:00:0a:00:00:01 type=0x
|
||||||
**** Solicited node multicast address https://en.wikipedia.org/wiki/Solicited-node_multicast_address
|
**** Solicited node multicast address https://en.wikipedia.org/wiki/Solicited-node_multicast_address
|
||||||
**** Scapy / IPv6: https://www.idsv6.de/Downloads/IPv6PacketCreationWithScapy.pdf
|
**** Scapy / IPv6: https://www.idsv6.de/Downloads/IPv6PacketCreationWithScapy.pdf
|
||||||
**** V1 model: https://github.com/p4lang/p4c/blob/master/p4include/v1model.p4
|
**** V1 model: https://github.com/p4lang/p4c/blob/master/p4include/v1model.p4
|
||||||
|
**** Cisco NAT64 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/xe-3s/nat-xe-3s-book/iadnat-stateful-nat64.pdf
|
||||||
* Proposal / task description
|
* Proposal / task description
|
||||||
** Task description for mystudies
|
** Task description for mystudies
|
||||||
*** High speed NAT64 with P4
|
*** High speed NAT64 with P4
|
||||||
|
|
|
@ -64,6 +64,7 @@ class L2Controller(object):
|
||||||
self.info['v4_gen'] = self.info['v4_base'].subnets(new_prefix=self.info['v4_mask'])
|
self.info['v4_gen'] = self.info['v4_base'].subnets(new_prefix=self.info['v4_mask'])
|
||||||
|
|
||||||
self.info['switch_suffix'] = 0x42
|
self.info['switch_suffix'] = 0x42
|
||||||
|
self.info['nat64_nat_prefix'] = ipaddress.ip_network("64:ff9b::/96")
|
||||||
|
|
||||||
self.v6_routes = {}
|
self.v6_routes = {}
|
||||||
self.v6_routes[None] = []
|
self.v6_routes[None] = []
|
||||||
|
|
Loading…
Reference in a new issue