On Wed, Jul 19, 2017 at 9:34 AM, Pingfan Liu <piliu@redhat.com> wrote:




----- Original Message -----
> From: "Ziyue Yang" <ziyang@redhat.com>
> To: kexec@lists.fedoraproject.org
> Cc: "Ziyue Yang" <ziyang@redhat.com>
> Sent: Tuesday, July 18, 2017 12:48:33 PM
> Subject: [PATCH] kdump-lib.sh: support dump ssh via local ipv6 address
>
> When dumping to ssh via local ipv6 address, the ssh parameter
> in kdump.conf is supposed to have the form like
>
> ssh user@fe80::cc1:8bff:fe90:b95f%eth0
>
> where "%eth0" is an existing network interface supporting ipv6.
>
> However, the get_remote_host function in kdump-lib.sh currently
> doesn't remove the network interface in the ipv6 address,
> causing the ip command in kdump_install_net function to fail,
> leading to a "Bad kdump location" message.
>
> This patch supports dumping ssh via local ipv6 address by enabling
> get_remote_host function to remove network interface in ipv6 addresses
> if there are any.
>

What do you observe on dump target by tcpdump? Do you see the incoming packet with ipv6 scope link address?

Yes I observed logs via tcpdump with ipv6 scope link addresses while dumping, like

10:55:19.132247 IP6 fe80::c23f:d5ff:fe9d:6546 > ff02::2: ICMP6, router solicitation, length 8
10:55:19.433514 IP6 fe80::250:56ff:fe89:542c > ff02::2: ICMP6, router solicitation, length 16
10:55:29.949253 IP6 fe80::e1d6:e94c:5da7:9896.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit

Actually I specified the ssh host by ipv6 address in kdump.conf, so the dump data could be transferred through ipv6 only.
 
Regards,
Pingfan

> Signed-off-by: Ziyue Yang <ziyang@redhat.com>
> ---
>  kdump-lib.sh | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/kdump-lib.sh b/kdump-lib.sh
> index 3f0af91..cca68e5 100755
> --- a/kdump-lib.sh
> +++ b/kdump-lib.sh
> @@ -323,6 +323,10 @@ get_remote_host()
>      _config_val=${_config_val%:/*}
>      _config_val=${_config_val#[}
>      _config_val=${_config_val%]}
> +    # factor out network inteface segment in local ipv6 address
> +    if is_ipv6_address $_config_val; then
> +        _config_val=${_config_val%%%*}
> +    fi
>      echo $_config_val
>  }
>
> --
> 2.9.3
> _______________________________________________
> kexec mailing list -- kexec@lists.fedoraproject.org
> To unsubscribe send an email to kexec-leave@lists.fedoraproject.org
>