Eu tenho uma conexão Ethernet de gigabit do meu laptop ao meu roteador e uma conexão ipv6 em funcionamento à Internet. Posso receber pacotes muito grandes de sites na Internet, com tamanhos de pelo menos 10000 bytes (de acordo com o wireshark). ( edit : acaba sendo o 'download genérico de recebimento' do linux). No entanto, ao tentar enviar qualquer coisa, meu computador local fragmenta-se em pouco menos de 1500 bytes para o ipv6. (No ipv4, posso enviar pacotes tcp para a Internet de pelo menos 1514 bytes, posso executar o ping com pacotes até o mtu configurado de 6128, mas eles são perfurados.)
Estou no ubuntu 12.04. Eu configurei um mtu para o eth0 de 6128 (o máximo que ele aceita), usando ip link set dev eth0 mtu 6128
e no GUI do applet do NetworkManager, e reiniciei a conexão. ip link show eth0
mostra que o 6128 mtu está realmente configurado. ip -6 route
mostra que nenhum dos caminhos que o kernel conhece possui um conjunto de mtu. Posso executar ping no ipv4 com pacotes de até 6128 bytes (embora não receba respostas), mas quando ping6 myrouter -c3 -s1500 -Mdo
recebo respostas de erro do meu próprio computador dizendo que os pacotes são muito grandes e o mtu é 1480. Confirmei com Wireshark que nada é colocado no fio, e as respostas são realmente geradas pelo meu próprio computador.
Então, como faço para que meu computador use o mtu maior?