[controller] re-enable ipv6 for ALL interfaces
This commit is contained in:
parent
11d376bcb8
commit
2081d30136
2 changed files with 75 additions and 2 deletions
73
doc/plan.org
73
doc/plan.org
|
@ -159,6 +159,79 @@ user@T:~# iptables -t mangle -A PREROUTING \
|
|||
- IPv4 default router = 10.0.0.42
|
||||
**** Neighbor discover protocol
|
||||
- Matching on prefix & ingress port, setting multicast
|
||||
|
||||
Being forwarded:
|
||||
|
||||
p4@ubuntu:~/master-thesis$ mx h1 tcpdump -ni h1-eth0
|
||||
sudo: unable to resolve host ubuntu
|
||||
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
|
||||
listening on h1-eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
|
||||
^C14:59:22.871803 IP6 2001:db8:62::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8:62::2, length 32
|
||||
14:59:23.863913 IP6 2001:db8:62::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8:62::2, length 32
|
||||
14:59:24.864033 IP6 2001:db8:62::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8:62::2, length 32
|
||||
|
||||
3 packets captured
|
||||
3 packets received by filter
|
||||
0 packets dropped by kernel
|
||||
|
||||
But no answer yet!
|
||||
|
||||
|
||||
root@ubuntu:~/master-thesis/p4app# ip a
|
||||
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
|
||||
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|
||||
inet 127.0.0.1/8 scope host lo
|
||||
valid_lft forever preferred_lft forever
|
||||
inet6 ::1/128 scope host
|
||||
valid_lft forever preferred_lft forever
|
||||
2: h1-eth0@if123: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9500 qdisc netem state UP group default qlen 1000
|
||||
link/ether 00:00:0a:00:00:01 brd ff:ff:ff:ff:ff:ff link-netnsid 0
|
||||
inet6 2001:db8:62::2/64 scope global
|
||||
valid_lft forever preferred_lft forever
|
||||
inet6 2001:db8:61::1/64 scope global
|
||||
valid_lft forever preferred_lft forever
|
||||
inet6 fe80::200:aff:fe00:1/64 scope link
|
||||
valid_lft forever preferred_lft forever
|
||||
root@ubuntu:~/master-thesis/p4app#
|
||||
|
||||
Link local communication does not work:
|
||||
|
||||
root@ubuntu:~/master-thesis/p4app# ping6 -c1 fe80::200:aff:fe00:2%h1-eth0
|
||||
PING fe80::200:aff:fe00:2%h1-eth0(fe80::200:aff:fe00:2) 56 data bytes
|
||||
From fe80::200:aff:fe00:1 icmp_seq=1 Destination unreachable: Address unreachable
|
||||
|
||||
--- fe80::200:aff:fe00:2%h1-eth0 ping statistics ---
|
||||
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
|
||||
|
||||
root@ubuntu:~/master-thesis/p4app#
|
||||
|
||||
Packet is received on the other host, but not answered. Why?
|
||||
|
||||
Real trace from my network:
|
||||
|
||||
18:48:17.008524 IP6 2a0a:e5c1:111:111:eb7:ffdb:e245:f712 > ff02::1:ffb7:e225: ICMP6, neighbor solicitation, who has 2a0a:e5c1:111:111:1016:3c5a:38b7:e225, length 32
|
||||
18:48:18.015016 IP6 2a0a:e5c1:111:111:eb7:ffdb:e245:f712 > ff02::1:ffb7:e225: ICMP6, neighbor solicitation, who has 2a0a:e5c1:111:111:1016:3c5a:38b7:e225, length 32
|
||||
18:48:18.031165 IP6 2a0a:e5c1:111:111:1016:3c5a:38b7:e225 > 2a0a:e5c1:111:111:eb7:ffdb:e245:f712: ICMP6, neighbor advertisement, tgt is 2a0a:e5c1:111:111:1016:3c5a:38b7:e225, length 32
|
||||
18:48:18.031236 IP6 2a0a:e5c1:111:111:eb7:ffdb:e245:f712 > 2a0a:e5c1:111:111:1016:3c5a:38b7:e225: ICMP6, echo request, seq 1, length 64
|
||||
18:48:18.031267 IP6 2a0a:e5c1:111:111:eb7:ffdb:e245:f712 > 2a0a:e5c1:111:111:1016:3c5a:38b7:e225: ICMP6, echo request, seq 2, length 64
|
||||
18:48:18.131709 IP6 2a0a:e5c1:111:111:1016:3c5a:38b7:e225 > 2a0a:e5c1:111:111:eb7:ffdb:e245:f712: ICMP6, echo reply, seq 1, length 64
|
||||
18:48:18.131732 IP6 2a0a:e5c1:111:111:1016:3c5a:38b7:e225 > 2a0a:e5c1:111:111:eb7:ffdb:e245:f712: ICMP6, echo reply, seq 2, length 64
|
||||
|
||||
|
||||
root@ubuntu:~/master-thesis/p4app# cat /proc/sys/net/ipv6/conf/*/disable_ipv6
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
root@ubuntu:~/master-thesis/p4app#
|
||||
root@ubuntu:~/master-thesis/p4app# ls -1 /proc/sys/net/ipv6/conf/*/disable_ipv6
|
||||
/proc/sys/net/ipv6/conf/all/disable_ipv6
|
||||
/proc/sys/net/ipv6/conf/default/disable_ipv6
|
||||
/proc/sys/net/ipv6/conf/h1-eth0/disable_ipv6
|
||||
/proc/sys/net/ipv6/conf/lo/disable_ipv6
|
||||
root@ubuntu:~/master-thesis/p4app#
|
||||
|
||||
|
||||
**** Static mappings
|
||||
- likely need table(s)
|
||||
- need tcp & udp translation
|
||||
|
|
|
@ -76,8 +76,8 @@ class L2Controller(object):
|
|||
@staticmethod
|
||||
def add_host_ips(host, net, ipaddr, dev):
|
||||
subprocess.call(["mx", host, "ip", "addr", "flush", "dev", dev])
|
||||
subprocess.call(["mx", host, "sysctl", "net.ipv6.conf.lo.disable_ipv6=0"])
|
||||
subprocess.call(["mx", host, "sysctl", "net.ipv6.conf.{}.disable_ipv6=0".format(dev)])
|
||||
for v6dev in [ "lo", "default", "all", dev ]:
|
||||
subprocess.call(["mx", host, "sysctl", "net.ipv6.conf.{}.disable_ipv6=0".format(v6dev)])
|
||||
|
||||
# Set down & up to regain link local address
|
||||
subprocess.call(["mx", host, "ip", "link", "set", dev, "down"])
|
||||
|
|
Loading…
Reference in a new issue