++ info ++ link local
This commit is contained in:
parent
cfba26632a
commit
2a623a0807
2 changed files with 9 additions and 4 deletions
|
@ -113,7 +113,7 @@
|
||||||
| | | |
|
| | | |
|
||||||
| 2019-03-21 | Meet Laurent #3 | |
|
| 2019-03-21 | Meet Laurent #3 | |
|
||||||
| | - My dog ate my homework | |
|
| | - My dog ate my homework | |
|
||||||
| | | |
|
| | - Router solicitation for finding router on startup! | |
|
||||||
| | | |
|
| | | |
|
||||||
| | | |
|
| | | |
|
||||||
| 2019-03-30 | NAT64 1:1 table ICMP, ICMPv6 working | |
|
| 2019-03-30 | NAT64 1:1 table ICMP, ICMPv6 working | |
|
||||||
|
@ -770,8 +770,8 @@ DEBUG:main:OUTGOING: <Ether dst=00:00:0a:00:00:01 src=00:00:0a:00:00:42 type=0x
|
||||||
DEBUG:main:INCOMING: <Ether dst=00:00:0a:00:00:01 src=00:00:0a:00:00:42 type=0x86dd |<IPv6 version=6 tc=0 fl=0 plen=32 nh=ICMPv6 hlim=255 src=2001:db8::42 dst=fe80::200:aff:fe00:1 |<ICMPv6ND_NA type=Neighbor Advertisement code=0 cksum=0xa5e9 R=0 S=1 O=1 res=0x0 tgt=2001:db8::42 |<ICMPv6NDOptDstLLAddr type=2 len=1 lladdr=00:00:0a:00:00:42 |>>>>
|
DEBUG:main:INCOMING: <Ether dst=00:00:0a:00:00:01 src=00:00:0a:00:00:42 type=0x86dd |<IPv6 version=6 tc=0 fl=0 plen=32 nh=ICMPv6 hlim=255 src=2001:db8::42 dst=fe80::200:aff:fe00:1 |<ICMPv6ND_NA type=Neighbor Advertisement code=0 cksum=0xa5e9 R=0 S=1 O=1 res=0x0 tgt=2001:db8::42 |<ICMPv6NDOptDstLLAddr type=2 len=1 lladdr=00:00:0a:00:00:42 |>>>>
|
||||||
****** Do we have a routing for fe80::/10? Probably not. Shouldn't we see it in the controller then?
|
****** Do we have a routing for fe80::/10? Probably not. Shouldn't we see it in the controller then?
|
||||||
****** TODO Implement address learning?
|
****** TODO Implement address learning?
|
||||||
|
****** TODO Not sure whether we should react on router solicitation
|
||||||
|
- Using static routes -> should do the job
|
||||||
***** TODO Implement the calculation
|
***** TODO Implement the calculation
|
||||||
***** TODO Sketch the flow for session handling for icmp6 w/o packet loss
|
***** TODO Sketch the flow for session handling for icmp6 w/o packet loss
|
||||||
- switch receives icmp6 packet for known prefix
|
- switch receives icmp6 packet for known prefix
|
||||||
|
|
|
@ -49,6 +49,7 @@ class L2Controller(object):
|
||||||
self.info={}
|
self.info={}
|
||||||
self.info['ndp_multicast'] = ipaddress.ip_network("ff02::1:ff00:0/104")
|
self.info['ndp_multicast'] = ipaddress.ip_network("ff02::1:ff00:0/104")
|
||||||
self.info['mac_address'] = "00:00:0a:00:00:42"
|
self.info['mac_address'] = "00:00:0a:00:00:42"
|
||||||
|
self.info['ipv6_link_local'] = ipaddress.ip_address("fe80::200:aff:fe00:42")
|
||||||
|
|
||||||
self.info['v6_mask'] = 64
|
self.info['v6_mask'] = 64
|
||||||
self.info['v6_base'] = ipaddress.ip_network("2001:db8::/32")
|
self.info['v6_base'] = ipaddress.ip_network("2001:db8::/32")
|
||||||
|
@ -399,7 +400,11 @@ class L2Controller(object):
|
||||||
if ICMPv6ND_NS in orig_packet and orig_packet['IPv6'].src == '::':
|
if ICMPv6ND_NS in orig_packet and orig_packet['IPv6'].src == '::':
|
||||||
log.debug("Neighbor solicitation for checking her own IP address")
|
log.debug("Neighbor solicitation for checking her own IP address")
|
||||||
elif ICMPv6MLReport2 in orig_packet and orig_packet['IPv6'].dst == 'ff02::16':
|
elif ICMPv6MLReport2 in orig_packet and orig_packet['IPv6'].dst == 'ff02::16':
|
||||||
log.debug("Multicast registration -- should probably handle this")
|
mc_group = orig_packet['ICMPv6MLDMultAddrRec'].dst
|
||||||
|
log.debug("Multicast registration for {} from {} -- should probably handle this".format(mc_group, cpu_header['ingress_port']))
|
||||||
|
elif ICMPv6ND_RS in orig_packet and orig_packet['IPv6'].dst == 'ff02::2':
|
||||||
|
src = orig_packet['IPv6'].src
|
||||||
|
log.debug("Router solicitation from {} -- should probably handle this?".format(src))
|
||||||
elif cpu_header.task == self.task['DEBUG']:
|
elif cpu_header.task == self.task['DEBUG']:
|
||||||
log.debug("reassambled={}".format(orig_packet.__repr__()))
|
log.debug("reassambled={}".format(orig_packet.__repr__()))
|
||||||
elif cpu_header.task == self.task['ICMP6_NS']:
|
elif cpu_header.task == self.task['ICMP6_NS']:
|
||||||
|
|
Loading…
Reference in a new issue