From owner-freebsd-net@FreeBSD.ORG Thu Apr 26 21:06:40 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1E401106566C for ; Thu, 26 Apr 2012 21:06:40 +0000 (UTC) (envelope-from prabhakar.lakhera@gmail.com) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by mx1.freebsd.org (Postfix) with ESMTP id CE7268FC15 for ; Thu, 26 Apr 2012 21:06:39 +0000 (UTC) Received: by yhgm50 with SMTP id m50so58187yhg.13 for ; Thu, 26 Apr 2012 14:06:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=HOzv2x0/4P1JHWFB+imayPTdugOwVQ6FT+6IbkZPcwU=; b=m1Ju8qtosZZ8blqlA/emFq1zp+CgM2kMvWYhSS7kc3aNvjXGmlbryE3CG01ya0FYt0 5Di6UFx/sWI0B27QC4aBoeEnew9LlrFEXZ/RzNiG+aOmDcZ3n9mqGIS3RgHOSrfntr8A 3jZ19SlsNtNA5CZhkImG94FYuRnbYfyeiuqRuU5cpMgsxyYiVs/Jzv0qVm6z6KuEiGuZ N5M8H7bMGsygiKZYPoMQ4PoXRRUFIpUcKNdbJHFy5u7IF28PqAWo4698UCnr4xZOz/iv oqFYZ5JwWpnhJNVG87SNTPIuops1RSO37HFe5CjHneIbNyy3lSGNTjkA8KSzOnpTeLin lREw== MIME-Version: 1.0 Received: by 10.236.136.198 with SMTP id w46mr8186841yhi.68.1335474399393; Thu, 26 Apr 2012 14:06:39 -0700 (PDT) Received: by 10.100.147.8 with HTTP; Thu, 26 Apr 2012 14:06:39 -0700 (PDT) Date: Thu, 26 Apr 2012 14:06:39 -0700 Message-ID: From: prabhakar lakhera To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: About static route retargetting in IPv6 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2012 21:06:40 -0000 Hi, In RFC 4861 Section: 8.1. Validation of Redirect Messageswe have the following bullets: A host *MUST *silently discard any received Redirect message that does not satisfy all of the following validity checks: - IP Source Address is a link-local address. Routers *MUST *use their link-local address as the source for Router Advertisement and Redirect messages so that hosts can uniquely identify routers. ... ... - The IP source address of the Redirect is the same as the current first-hop router for the specified ICMP Destination Address. The above two bullets implicitly imply that the gateways installed in routing tables MUST have LLA scope only for the node to be able to process redirects. For static routes when ifa gets deleted or when a port goes down, routes get re-targeted. For static indirect routes we look for other ifa in the same subnet or with same prefix as gateway's ifa. For subnet routes the existing ones are re-targeted to a different ifa/ifp when possible. I believe the existing dynamic routes (cloned ones) are purged and are learned again when required. For IPv6 dynamically learned default router we have default router selection which gets triggered from various events (neighbor cache entry for gateway expiring, RA received which implies router is not more valid, NA received for a neighbor that was considered to be a router, port configured down/link down etc etc). That is responsible for installing new default route when required. We have an option to disabled RA processing. User then has to install static default routes. When user does that in order to process redirects user MUST add indirect static routes with LLA scoped addresses. Also default router selection mechanism would not work for these default route entries (since defrouter list does not include static routers). The question is how do we re-target these routes? The route re-targeting mechanisms in place a based on prefix comparison. Currently LLA addresses can get auto-configured since they are well defined (fe80) and don't depend on learning prefixes via received RAs. However they are currently all limited to the interface they are configured on. Has there been any effort to dynamically learn what local ports are on-link and using that information to embed the scope in the LLA rather than interface ids? That would help in getting these static default routes ,with LLA gateways, re-targeted. If people are already working on it, I would appreciate if they could comment on it and get in touch. Best, Prabhakar