Skip to content

mdns: expose more Avahi configuration settings #678

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions