Re: PPPoE client - service-name no dash character allowed

Same happened to me with access-concentrator. My ISP has dash and dot in its name.

Is it against RFC or is the pattern too restrictive? According to https://tools.ietf.org/html/rfc2516 Access Contentrator name should be a string up to 65535 bytes inclusive without null termination. No other restrictions.

0x0102 AC-Name
This TAG indicates that a string follows which uniquely identifies
this particular Access Concentrator unit from all others. It may
be a combination of trademark, model, and serial id information,
or simply an UTF-8 rendition of the MAC address of the box. It is
not NULL terminated.

Although I understand it's quite impractical to allow such a value, the pattern should be much less restrictive.

Would you mind fixing it in some future release?

P. S.

root@ERLite-3:~# grep -r 'Access concentrator name must be composed of uppper and lower case letters or numbers only' /opt 2>/dev/null
/opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/pppoe/node.tag/access-concentrator/node.def.original:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9.-]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/vif/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/bridge/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/bridge/node.tag/vif/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/pseudo-ethernet/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/switch/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/interfaces/switch/node.tag/vif/node.tag/pppoe/node.tag/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"
/opt/vyatta/share/vyatta-cfg/templates/service/pppoe-server/access-concentrator/node.def:syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"

Following the first example, it should be enough to add in the pattern . (DOT) e.g:

syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"

should become

syntax:expression: pattern $VAR(@) "^[a-zA-Z0-9-.]+$" ; "Access concentrator name must be composed of uppper and lower case letters or numbers only"

Just add the (dot) AFTER the (dash) in apropriate script. Notice that you have node.def for different types of connectivity (switch, pppoe etc.) so, you should change them all or just change the one you use in your scenario.