[v6ops] DHCPv6 PD client on cellular on some IoT platform

Alexandre Petrescu <alexandre.petrescu@gmail.com> Wed, 24 May 2017 17:05 UTC

Return-Path: <alexandre.petrescu@gmail.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1282C129BCB for <v6ops@ietfa.amsl.com>; Wed, 24 May 2017 10:05:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.367
X-Spam-Level: **
X-Spam-Status: No, score=2.367 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=0.9, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XiO0_956biIX for <v6ops@ietfa.amsl.com>; Wed, 24 May 2017 10:05:52 -0700 (PDT)
Received: from oxalide-smtp-out.extra.cea.fr (oxalide-smtp-out.extra.cea.fr [132.168.224.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7849C129BA0 for <v6ops@ietf.org>; Wed, 24 May 2017 10:05:52 -0700 (PDT)
Received: from pisaure.intra.cea.fr (pisaure.intra.cea.fr [132.166.88.21]) by oxalide-sys.extra.cea.fr (8.14.7/8.14.7/CEAnet-Internet-out-4.0) with ESMTP id v4OH5oqg173751 for <v6ops@ietf.org>; Wed, 24 May 2017 19:05:50 +0200
Received: from pisaure.intra.cea.fr (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 558E0205036 for <v6ops@ietf.org>; Wed, 24 May 2017 19:05:50 +0200 (CEST)
Received: from muguet2.intra.cea.fr (muguet2.intra.cea.fr [132.166.192.7]) by pisaure.intra.cea.fr (Postfix) with ESMTP id 3254C204D11 for <v6ops@ietf.org>; Wed, 24 May 2017 19:05:50 +0200 (CEST)
Received: from [10.8.34.184] (is227335.intra.cea.fr [10.8.34.184]) by muguet2.intra.cea.fr (8.15.2/8.15.2/CEAnet-Intranet-out-1.4) with ESMTP id v4OH5ni5005319 for <v6ops@ietf.org>; Wed, 24 May 2017 19:05:49 +0200
To: "v6ops@ietf.org" <v6ops@ietf.org>
From: Alexandre Petrescu <alexandre.petrescu@gmail.com>
Message-ID: <7537deef-8f87-5187-1e44-595ac63a16ca@gmail.com>
Date: Wed, 24 May 2017 19:05:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/5dA0M27Kci-H9U0v1Griaas66hE>
Subject: [v6ops] DHCPv6 PD client on cellular on some IoT platform
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 17:05:54 -0000

Hello,

We discussed extensively about the potential use of DHCPv6 Prefix 
Delegation on cellular links.

The chicken issue is the lack of DHCPv6 PD software on typical User 
Equipment.  For example, there is no DHCPv6-PD app on Android.  The egg 
issue is the lack of operator support of DHCPv6-PD towards the User 
Terminal.  For example, there is no cellular operator answering to 
DHCPv6-PD requests issued by the User Terminal.

To address the chicken issue, we started with an ISC DHCP open software 
client, which does implement Prefix Delegation.  It can be 
(cross)compiled on various platforms; then type "./dhclient -6 -P"; this 
sends an DHCPv6 Solicit Identity Associtaion for Prefix Delegation 
message on the interface.

However, whereas this software runs ok on interfaces such as Ethernet, 
USBnet and WiFi interfaces, it breaks if run on the cellular interface 
of some IoT cellular platform.  The error can be corrected by the 
quick-and-dirty solution below.

Alex

------------------------------------------------------------------------
The error says "//UNSUPPORTED DEVICE TYPE 503 FOR RMNET0."
dhcp-4.3.5
./common/lpf.c
line number: 551

//default:
//      log_fatal("Unsupported device type %ld for \"%s\"",
//                (long int)sa->sa_family, name);
   default:
         hw->hlen = 7;
         hw->hbuf[0] = HTYPE_ETHER;
         memcpy(&hw->hbuf[1], sa->sa_data, 6);
   break;

(two programmers worked this out).

Alex