Upcoming Maintenance Alert:

The UBNT Community will be upgraded at 5pm MDT on April 25th. During this time the community forums will be set to read-only status.

Learn more

×
Reply
New Member
Posts: 5
Registered: ‎10-11-2014
Kudos: 1
Solutions: 1
Accepted Solution

PPPoE client - service-name no dash character allowed

Hi,

 

Our ISP offers plenty of service names and i need to specify which one am i logging in to, but when i issue the command:

 

adm@ubnt# set interfaces ethernet eth6 pppoe 0 service-name Profi-Max

 

i'm getting the response

 

Service name must be composed of uppper and lower case letters or numbers only

Value validation failed
Set failed

 

so, no dash in service-name parameter allowed.

Setting this under Linux was never been a problem.

Please help on this, if i don't specify the service name PPPoE is connecting approx. 10-15 minutes.

 

Thanks in advance!


Accepted Solutions
New Member
Posts: 5
Registered: ‎10-11-2014
Kudos: 1
Solutions: 1

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

[ Edited ]

Hi UBNT-stig,

 

You have a typo, it should be node.def i guess but it was a good hint though.

I think that i found the exact location responsible for syntax check:

 

adm@ubnt# sudo vi /opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/pppoe/node.tag/service-name/node.def

 line 13 stated:

 

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

 changed it by adding the dash character at the end of REGEX

 

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

 after that command completed without spellcheck errors:

 

adm@ubnt# set interfaces ethernet eth6 pppoe 0 service-name Profi-Max

[edit]
adm@ubnt# commit

[edit]
adm@ubnt# save

adm@ubnt# cat /etc/ppp/peers/pppoe0 | grep rp_pppoe
rp_pppoe_service "Profi-Max"
[edit]

 All done, and syntax check working.

 

Maybe it is a good idea to include the hyphen in the allowable character list in next release, since i'm not the only one having this problem.

 

 

Cheers!

View solution in original post


All Replies
Previous Employee
Posts: 10,504
Registered: ‎06-09-2011
Kudos: 3059
Solutions: 945
Contributions: 16

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

You could try to comment out the syntax check in /opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/pppoe/none.def

EdgeMAX Router Software Development
New Member
Posts: 5
Registered: ‎10-11-2014
Kudos: 1
Solutions: 1

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

[ Edited ]

Hi UBNT-stig,

 

You have a typo, it should be node.def i guess but it was a good hint though.

I think that i found the exact location responsible for syntax check:

 

adm@ubnt# sudo vi /opt/vyatta/share/vyatta-cfg/templates/interfaces/ethernet/node.tag/pppoe/node.tag/service-name/node.def

 line 13 stated:

 

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

 changed it by adding the dash character at the end of REGEX

 

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

 after that command completed without spellcheck errors:

 

adm@ubnt# set interfaces ethernet eth6 pppoe 0 service-name Profi-Max

[edit]
adm@ubnt# commit

[edit]
adm@ubnt# save

adm@ubnt# cat /etc/ppp/peers/pppoe0 | grep rp_pppoe
rp_pppoe_service "Profi-Max"
[edit]

 All done, and syntax check working.

 

Maybe it is a good idea to include the hyphen in the allowable character list in next release, since i'm not the only one having this problem.

 

 

Cheers!

Member
Posts: 166
Registered: ‎11-05-2012
Kudos: 28
Solutions: 7

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

[ Edited ]

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.

   The PPPoE payload contains zero or more TAGs.  A TAG is a TLV (type-
   length-value) construct and is defined as follows:

                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          TAG_TYPE             |        TAG_LENGTH             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          TAG_VALUE ...                                        ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   TAG_TYPE is a sixteen bit field in network byte order.  Appendix A
   contains a list of all TAG_TYPEs and their TAG_VALUEs.

   TAG_LENGTH is a sixteen bit field.  It is an unsigned number in
   network byte order, indicating the length in octets of the TAG_VALUE.

 

   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"

 

New Member
Posts: 5
Registered: ‎10-11-2014
Kudos: 1
Solutions: 1

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

@hyphenathic 

Hi,

I've just posted quick and dirty fix, which is already applyed in mainstream v.1.6. I'm not a developer or anyway connected with UBNT dev team Man Happy

Member
Posts: 166
Registered: ‎11-05-2012
Kudos: 28
Solutions: 7

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

Have you noticed I talk about access-concentrator, not service-name? I have 1.6 installed and access-concentrator is not fixed there. 

 

Your fix helped me make it work on my ERLite, so thank you. Man Happy

New Member
Posts: 5
Registered: ‎10-11-2014
Kudos: 1
Solutions: 1

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

Heh, sorry, overlooked. Too tired now, so, sorry that i've not read your message with understanding Man Wink

 

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.

 

Member
Posts: 166
Registered: ‎11-05-2012
Kudos: 28
Solutions: 7

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

[ Edited ]

Yes, this is what I did and it worked. 

New Member
Posts: 5
Registered: ‎10-11-2014
Kudos: 1
Solutions: 1

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

Glad you fixed it! Cheers2

 

@STIG 

Please include this regex fix in next release if possible! Seems like a lot of users have problems with non-standard concentrator names too.

Reply