From owner-freebsd-net@freebsd.org Mon Dec 17 21:43:14 2018 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87A27134D46E for ; Mon, 17 Dec 2018 21:43:14 +0000 (UTC) (envelope-from sharpd@cumulusnetworks.com) Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9F3F68C1BB for ; Mon, 17 Dec 2018 21:43:13 +0000 (UTC) (envelope-from sharpd@cumulusnetworks.com) Received: by mail-wr1-x430.google.com with SMTP id u4so12863054wrp.3 for ; Mon, 17 Dec 2018 13:43:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yRd3jaLdumwk0+zvcobxr9JpVLEfrvB0c4/wnuwZGHw=; b=cO+E4CsRbei3Ka5JE9x5x1naxuGjUCcQ5SYyZZ1Ya9WeXImRIdezdvuNxLtRYi4dhV qZ2gurhqVDrj3MthKHebz8EATPmeFHGTECSkhJBrRC7fLfaVPCgpegSSnr2BTlvRaTFB p8d+lRVsbtOKTIfjDEsx3JPz/YdByKdDhEhUo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yRd3jaLdumwk0+zvcobxr9JpVLEfrvB0c4/wnuwZGHw=; b=W+4l3aYtmnz0GTYvWGo9JnVMtxmVWh20nV3KWwhcnQi6YMp/aU0uQvUv+c1d6H8re6 t8qTf1fRdc2mPNq2eNDpKjQPGH5IQd3+edC/BGC0Cu9ea+nJteqh02vvg1oh8JIUlQOP OykAuQWzl6U/60pN1zfPyJU4zFq3/v/yNOIDAeQNdklha6G3ewVzDuck42hNwIPuGIwb HfuhMs4lY7qjjp6YsmT0cVgmQafX/ClGuh7zGSSYWqsZkjaLBNvCTmktPRKZN938WnUe K4i0xHdkb6xNywHR6XQ5jfmz4mfU5QNgHgg4CSnmq9VwU4VwY+qG59cYdUaZADToQX5y ir/A== X-Gm-Message-State: AA+aEWb1VdDnn8zqH3CkDwdIw8GbJbIOj1g1sNK7aWsbzltj9Lf3403c 8ZXp22Ttz7nUfu1A59AC1qGnmn9LtnKHrWONBfO7Xw== X-Google-Smtp-Source: AFSGD/UaBlzxs5zWpflTzgsobrCnhX65VocNX1RDO4QOkRtz8lDUf3B/izdX4JFcH67baJE5B5Lrgf58CzMWMNI+tPA= X-Received: by 2002:adf:df01:: with SMTP id y1mr12679918wrl.127.1545082992180; Mon, 17 Dec 2018 13:43:12 -0800 (PST) MIME-Version: 1.0 References: <45cb71a0-8135-30e2-6096-784c4fc44fea@yandex.ru> In-Reply-To: <45cb71a0-8135-30e2-6096-784c4fc44fea@yandex.ru> From: Donald Sharp Date: Mon, 17 Dec 2018 16:43:01 -0500 Message-ID: Subject: Re: RFC 5549? To: bu7cher@yandex.ru, Renato Westphal , Vivek Venkatraman Cc: freebsd-net@freebsd.org, =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= , gnn@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 9F3F68C1BB X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=cumulusnetworks.com header.s=google header.b=cO+E4CsR; dmarc=pass (policy=none) header.from=cumulusnetworks.com X-Spamd-Result: default: False [-4.53 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[cumulusnetworks.com:s=google]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MX_GOOD(-0.01)[ALT3.ASPMX.L.GOOGLE.com,ALT2.ASPMX.L.GOOGLE.com,ASPMX.L.GOOGLE.com,ALT1.ASPMX.L.GOOGLE.com,ALT4.ASPMX.L.GOOGLE.com]; IP_SCORE(-2.56)[ip: (-9.77), ipnet: 2a00:1450::/32(-1.57), asn: 15169(-1.37), country: US(-0.08)]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[6]; NEURAL_HAM_SHORT(-0.84)[-0.836,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[cumulusnetworks.com:+]; DMARC_POLICY_ALLOW(-0.50)[cumulusnetworks.com,none]; RCVD_IN_DNSWL_NONE(0.00)[0.3.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; SUBJ_ALL_CAPS(0.68)[9]; R_SPF_NA(0.00)[]; FREEMAIL_TO(0.00)[yandex.ru]; FROM_EQ_ENVFROM(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_LAST(0.00)[] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Dec 2018 21:43:14 -0000 Andrey - I took the code, compiled at and got FRR working with the v6 nexthop. https://github.com/FRRouting/frr/pull/3502. Route installation from FRR appears to be working for me now: Janelle# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR, f - OpenFabric, > - selected route, * - FIB route K>* 0.0.0.0/0 [0/0] via 10.50.12.1, em0, 00:13:13 B>* 10.50.11.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09 C>* 10.50.12.0/24 is directly connected, em0, 00:13:13 B>* 10.232.0.16/32 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09 B>* 192.168.209.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09 B>* 192.168.230.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09 B>* 192.168.231.0/24 [20/0] via fe80::a00:27ff:fe28:3b50, em1, 00:13:09 Janelle# exit sharpd@Janelle ~/frr> netstat -rn Routing tables Internet: Destination Gateway Flags Netif Expire default 10.50.12.1 UGS em0 10.50.11.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1 10.50.12.0/24 link#1 U em0 10.50.12.121 link#1 UHS lo0 10.232.0.16 fe80::a00:27ff:fe28:3b50%em1 UGH1 em1 127.0.0.1 link#4 UH lo0 192.168.209.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1 192.168.230.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1 192.168.231.0/24 fe80::a00:27ff:fe28:3b50%em1 UG1 em1 On the other hand, ping doesn't appear to be working( but I think you probably knew that): sharpd@Janelle ~/frr> sudo tcpdump -i em1 icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on em1, link-type EN10MB (Ethernet), capture size 262144 bytes 11:41:59.559457 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 27, length 64 11:42:00.626966 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 28, length 64 11:42:01.659515 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 29, length 64 11:42:02.732074 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 30, length 64 11:42:03.759432 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 31, length 64 11:42:04.833242 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 32, length 64 11:42:05.859559 IP 0.0.0.0 > 192.168.230.1: ICMP echo request, id 2119, seq 33, length 64 ^C 7 packets captured 21 packets received by filter 0 packets dropped by kernel This is pretty awesome progress though Thanks! donald On Mon, Dec 17, 2018 at 6:48 AM Andrey V. Elsukov wrote: > > On 11.12.2018 15:07, Andrey V. Elsukov wrote: > >> The FRRouting project has some basic support for rfc 5549 and I've > >> been asked to see if it is possible to get this bit of code working > >> with the FRRouting freebsd kernel interface. What is RFC 5549 you > >> ask? The tl;dr of it is that you have v4 prefixes w/ a v6 gateway. > >> For some more background the linux implementation cheats ( and I would > >> like to emphatically point out that I'm not suggesting this solution, > >> I'm giving the linux solution to the problem as a data point to how it > >> was solved in one instance ) by installing a neighbor entry for > >> `169.254.0.1 ` and > >> when installing the v4 prefix we see the v6 nexthop and replace it > >> with `169.254.0.1 ` in the netlink message to the > >> kernel. Is support of RFC 5549 possible in Freebsd? > > > > I have thought a bit about this, and have some ideas how implement this. > > In general we can install into the kernel routes that has IPv6 address > > as gateway for IPv4 (currently this is not allowed by default, but it is > > easy to allow). So, as a routing daemon developer you can use generic > > API to install routes where RTAX_GATEWAY is IPv6 address. > > Hi, > > I have implemented basic support, so it can be tested now: > > https://reviews.freebsd.org/D18581 > > -- > WBR, Andrey V. Elsukov >