Skip to content

mdns: expose more Avahi configuration settings #678

@troglobit

Description

@troglobit

Model proposal

Currently only possible to enable/disable the mDNS responder. Here are a few proposed updates to mDNS configuration support:

  container mdns {
    description "Advertise system and services over mDNS-SD, IPv4 and IPv6.";

    leaf enabled {
      description "Globally enable or disable mDNS/SD on all interfaces.";
      type boolean;
    }

    leaf domain {
      description "LAN domain name to register host name and services in.

                   Most common is .local, but some also use .lan, or .office,
                   usually this setting can be left as-is.";
      default "local";
      type inet:domain-name;
    }

    leaf-list allow-interfaces {
      description "Interfaces to act on, can be combined with deny-interfaces.

                   By defaullt all, except loopback and point-to-pint links.";
      type if:interface-ref;
    }

    leaf-list deny-interfaces {
      description "Interfaces to ignore.

                   Other not specified interfaces will be used, except loopback
                   and point-to-point, unless combined with allow-interfaces.

                   This option takes precedence over allow-interfaces.";
      type if:interface-ref;
    }

    leaf reflector {
      description "Reflect incoming mDNS requests to local interfaces.";
      type boolean;
    }

    leaf-list reflect-filter {
      description "Filter mDNS service names to reflect.

                   Example, for AirPlay and AirTunes, use:

                     - _airplay._tcp.local
                     - _raop._tcp.local

                   For AirPrint use:

                     - _printer._tcp.local
                     - _ipp._tcp.local
                     - _pdl-datastream._tcp.local

                   By defaullt all services are reflected.";
      type string;
    }
  }

Tree view

$ yanglint -f tree ietf-inet-types@2013-07-15.yang infix-services.yang 
module: ietf-inet-types

module: infix-services
  +--rw mdns
  |  +--rw enabled?            boolean
  |  +--rw domain?             inet:domain-name
  |  +--rw allow-interfaces*   if:interface-ref
  |  +--rw deny-interfaces*    if:interface-ref
  |  +--rw reflector?          boolean
  |  +--rw reflect-filter*     string
  +--rw web
     +--rw enabled?     boolean
     +--rw console
     |  +--rw enabled?   boolean
     +--rw netbrowse
     |  +--rw enabled?   boolean
     +--rw restconf
        +--rw enabled?   boolean

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions