Re: [OPSAWG] [Mud] Declaring something to be a controller in MUD

"M. Ranganathan" <> Mon, 01 July 2019 18:51 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B01B812016E; Mon, 1 Jul 2019 11:51:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id kQ5OW1y_3JgU; Mon, 1 Jul 2019 11:51:44 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::d31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0F9C612016C; Mon, 1 Jul 2019 11:51:44 -0700 (PDT)
Received: by with SMTP id s7so31106803iob.11; Mon, 01 Jul 2019 11:51:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UpKSfeZjex6alpCiDT3fuS1vDZstpiy1I4FwgAKQZs4=; b=mU8tv3Z5nrii6LutaPVspjRCVL106LdDe90EWRBUcQs8xys/j6tyrTzRhp10Vkmyps GVJAtSrAW8SPab8Pz5KYzxwOmRxtJ2EPb8DJAerfiSSxYHlxVt1ECY3m6EeEQ+kflLjS rLd8GGNcpd1DjPlEDzy73zBWeQzpc89++62vpGBPyOb0P1Odn2womIBxJ96Fi/PIAoXf OoHUACZbP6FdGAaRiXD6hsIKCP832YF+PwoWqHZPea3J6VNLR1lXXJJ+NDT2dKZk7mNk zeqhbDEahi79zlq/stvhaWv1AjCXwmOFmEls5zH4+B1SJAC0WjUy/del5ZSCBt9CbOac rE2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UpKSfeZjex6alpCiDT3fuS1vDZstpiy1I4FwgAKQZs4=; b=jBDXqPxBLkedGOaCfPRFuSHm4XtOd2GyEJhmxGRShywntqUJLaF7UPe6sVd5gKiX7X 0kZSgcLYBjxcK+yFTAuGOlYJOm71pcjGwH4cvaN4Ji/GNjXlN5l2KBR/ky0A7C77hZSI pnlnVp1ES2iChrkemwn+/O+gP5njBIXWCFLWGOYLgMTQ4u8Upe5KsxE9nC1ZrUAPeBf+ Y/syr7C/nKgP+Igp/WUjYahwGHKiEfOMiqNXemyjCEXRBH9Nf4qVnorP3wZ6bHZ9ajMx G1ZSGDivqLbRIhQqFyNJTqqKq3gY61zUDB5EhpEzse9S3JhX4AEqjTyHIUEib6OKmaho p48A==
X-Gm-Message-State: APjAAAUqm8udKN+x/u1210wnX1NmUm0L4NqbNeadr3NwM66AbKAfCh4D nG6SqTWSDBdowH7EW693m/ztM2G3/RbiHtFhpp0=
X-Google-Smtp-Source: APXvYqzeR+4f7bavjlpAUKDG8THbyVj+wWyLb89WS0butQiF/ct/GiLfXR0dqDS0MnjjfYH4Fwc+D3tPmkCpmuIWMtw=
X-Received: by 2002:a02:3308:: with SMTP id c8mr30073263jae.103.1562007103098; Mon, 01 Jul 2019 11:51:43 -0700 (PDT)
MIME-Version: 1.0
References: <> <>
In-Reply-To: <>
From: "M. Ranganathan" <>
Date: Mon, 1 Jul 2019 14:51:06 -0400
Message-ID: <>
To: Eliot Lear <>
Cc: Qin Wu <>, "" <>, "" <>
Content-Type: multipart/alternative; boundary="000000000000845370058ca31e5c"
Archived-At: <>
Subject: Re: [OPSAWG] [Mud] Declaring something to be a controller in MUD
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OPSA Working Group Mail List <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 01 Jul 2019 18:51:47 -0000

On Mon, Jul 1, 2019 at 6:26 AM Eliot Lear <> wrote:

> Qin and others:
> Just to get the ball rolling, I’ve posted today
> draft-lear-opsawg-mud-controller-candidates-00.
> I think this should help the discussion.
> Eliot

Hello Eliot,

In a similar vein to the question Qin is asking, I have a question (we
could discuss during the upcoming IETF side meeting if you don't have time
to respond now).

What is the essential difference between a device declaring itself to be a
"controller" for another class and the situation where the device (being
controlled) just uses the "model" abstraction in an ACE?

If a device with mud URL  https://toothbrush.nist.local/super1 is a
controller for device coffemaker.nist.local, then simply declare an ACE in
the coffeemaker MUD file, with a Model abstraction naming
toothbursh.nist.local :

              "name": "man0-todev",
              "matches": {
                "ietf-mud:mud": {
              "model": "https://toothbrush.nist.local/super1"
                "ipv4": {
                  "protocol": 17
                "udp": {
                  "source-port": {
                    "operator": "eq",
                    "port": 8008

(similarly in the "frdev")

What is the difference (in behavior) between this and the new mechanism
proposed in the draft?

Thanks, Ranga

> On 1 Jul 2019, at 10:23, Qin Wu <> wrote:
> *发件人:* Eliot Lear [ <>]
> *发送时间:* 2019年7月1日 15:52
> *收件人:* Qin Wu <>
> *抄送:*;
> *主题:* Re: [OPSAWG] Declaring something to be a controller in MUD
> On 1 Jul 2019, at 09:20, Qin Wu <> wrote:
> *发件人:* OPSAWG [ <>]
> *代表 *Eliot Lear
> *发送时间:* 2019年6月24日 17:48
> *收件人:*;
> *主题:* [OPSAWG] Declaring something to be a controller in MUD
> Hi everyone,
> A few of us are just trying to put out an initial draft that addresses one
> gap in MUD (there are several).  In a MUD file one can say that one wants
> to access a controller in two ways: either "my-controller” meaning a
> controller that services devices of a particular MUD URL or a “controller”
>  class that services devices based on a particular class name of
> controller.
> In either case, right now the administrator has to manually know and
> populate information, to say - some device is a controller, either
> for MUD URL or a class
>  That can be laborious.  To assist, we are
> examining ways to have a controller declare itself as a candidate
> controller.
> [Qin]: Since MUD in RFC8520 has already specify DNS extension and DHCP
> extension, why not configure MUD manager with controller’s declaration? So
> the RESTFUL interface can be defined between NMS and controller, if my
> understanding is correct.
> I believe this is network initiated solution, you might have client
> initiated solution, but probably more complicated than network initiated
> solution.
> Can you say a few more words?  I’m not sure I’m quite following you.
> [Qin]: What I am suggesting is NMS preconfigures the MUD manager with
> controller’s declaration information, during DHCP process or DNS process,
> the controller’s declaration can be returned
> To the router or switch between the thing and MUD manager or return to the
> thing, the router or the thing can access controller through controller
> delclartion.
> If the MUD manager also needs to be advertised to the thing, DHCP
> Discovery or DNS process can be leveraged. In this case, NMS needs to
> preconfigure DHCP server with MUD manager information.
> Eliot
>  That at least provides a hint to the administrator that this particular
> device is capable of serving in a particular role.
> To make that declaration, the device must-
>    - Form the declaration;
>    - Find the MUD manager; and
>    - Send it.
> Forming the declaration is easy: we can make this a YANG grouping and then
> place it in various spots.
> Finding the MUD manager depends on one question:
>    - Was the device built to be a controller or is it a general purpose
>    device that has an app that is intended to be a controller?
> If the device was built to be a controller, we can simply cram the
> declaration into that devices own MUD file as an extension.  If the device
> is a general purpose computer, things get a bit more interesting.  In this
> case we have two choices:
>    - Either create a MUD file that points somewhere internally - this
>    doesn’t seem very plug and play.
>    - Make the declaration directly to the MUD manager.
> I’m going to focus on the latter for the moment.  It is easy enough to
> create a RESTful interface for this purpose, but it requires a mechanism to
> discovered the MUD manager, which up until now has been an internal part of
> the network infrastructure.
> Let me call this out plainly: letting the app itself directly call the MUD
> manager requires that the MUD manager itself become exposed to the user
> infrastructure, which is a change.
> One possibility to address this is to incorporate the new RESTful endpoint
> into an ANIMA BRSKI join registrar, which may already be exposed.  But that
> requires that ANIMA BRSKI be in play, which it may not.
> My thinking is that we do this work in two stages.  First handle the easy
> case, which is the MUD file extension, and then figure out how to do the
> app version of this.
> Thoughts?
> Eliot
> --
> Mud mailing list

M. Ranganathan