[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
|
- IPv4 default router = 10.0.0.42
|
||||||
**** Neighbor discover protocol
|
**** Neighbor discover protocol
|
||||||
- Matching on prefix & ingress port, setting multicast
|
- 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
|
**** Static mappings
|
||||||
- likely need table(s)
|
- likely need table(s)
|
||||||
- need tcp & udp translation
|
- need tcp & udp translation
|
||||||
|
|
|
@ -76,8 +76,8 @@ class L2Controller(object):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def add_host_ips(host, net, ipaddr, dev):
|
def add_host_ips(host, net, ipaddr, dev):
|
||||||
subprocess.call(["mx", host, "ip", "addr", "flush", "dev", dev])
|
subprocess.call(["mx", host, "ip", "addr", "flush", "dev", dev])
|
||||||
subprocess.call(["mx", host, "sysctl", "net.ipv6.conf.lo.disable_ipv6=0"])
|
for v6dev in [ "lo", "default", "all", dev ]:
|
||||||
subprocess.call(["mx", host, "sysctl", "net.ipv6.conf.{}.disable_ipv6=0".format(dev)])
|
subprocess.call(["mx", host, "sysctl", "net.ipv6.conf.{}.disable_ipv6=0".format(v6dev)])
|
||||||
|
|
||||||
# Set down & up to regain link local address
|
# Set down & up to regain link local address
|
||||||
subprocess.call(["mx", host, "ip", "link", "set", dev, "down"])
|
subprocess.call(["mx", host, "ip", "link", "set", dev, "down"])
|
||||||
|
|
Loading…
Reference in a new issue