f5-appsvcs-extension
f5-appsvcs-extension copied to clipboard
Why is not possible define Service_Address as IPv4 only?
trafficstars
Is your feature request related to a problem? Please describe.
I need define AS3 with service address route advertise do BGP. For this reason are required to steps:
- First: Setup Service_HTTP/_HTTPS/_TCP/... with AS3 reference.
- Second: Create Service_Address with routeAdvertisement property.
Example:
<cut>
"appB": {
"class": "Application",
"vs_TCP1": {
"class": "Service_TCP",
"profileTCP": "lan",
"virtualAddresses": [
{
"use": "ip-10.39.20.3" << AS3 reference name is not possible define with 'ip address only'
}
],
"virtualPort": 22
},
"ip-10.39.20.3": { << 'Service_Address' name
"class": "Service_Address",
"routeAdvertisement": "enable", << the reason why I need create Service_Address by JSON
"remark": "10.39.20.3%5", << remark is possible to define, but I can't see it in GUI
"virtualAddress": "10.39.20.3"
},
"vs_TCP2": {
"class": "Service_TCP",
"profileTCP": "lan",
"virtualAddresses": [
"10.39.20.4" << this creates 'Service_Address' name '10.39.20.4%5' automaticaly
],
"virtualPort": 22
},
},
<cut>
Two questions:
- What's the reason, that Service_address object is not possible define with '10.39.20.3' name (IPv4 address, or IPv4 with routing domain id)? (For that's reason I'm using 'ip-10.39.20.3' in this case).
- Why I can't add to the name routing domain info (e.g. '10.39.20.3%5', in my case 'ip-10.39.20.3%5')?
The valid string regex based on schema is: ^[A-Za-z]([0-9A-Za-z_.-]{0,188}[0-9A-Za-z_.])?$. Is there any reason of this?
Describe the solution you'd like
I'd like to define Service_Address name like this: '10.39.20.3%5' (this is how the device sets it when 'virtualAddress' is defined like IPv4, not AS3 reference)
Describe alternatives you've considered
There is no possibility to define 'Service_Address' name like '10.39.20.3%5' or '10.39.20.3' (because schema validation?).
Additional context
TMOS configuration from AS3 JSON call:
ltm virtual /test-as3-01/appB/vs_TCP1 {
destination /test-as3-01/ip-10.39.20.3:22 << not typical for BIGIP
ip-protocol tcp
mask 255.255.255.255
persist {
/Common/source_addr {
default yes
}
}
profiles {
/Common/f5-tcp-lan { }
}
serverssl-use-sni disabled
source 0.0.0.0/0
translate-address enabled
translate-port enabled
}
ltm virtual /test-as3-01/appB/vs_TCP2 {
destination /test-as3-01/10.39.20.4%5:22 << typical for BIGIP
ip-protocol tcp
mask 255.255.255.255
persist {
/Common/source_addr {
default yes
}
}
profiles {
/Common/f5-tcp-lan { }
}
serverssl-use-sni disabled
source 0.0.0.0/0
translate-address enabled
translate-port enabled
}
ltm virtual-address /test-as3-01/ip-10.39.20.3 { << not typical for BIGIP
address 10.39.20.3
arp enabled
icmp-echo enabled
inherited-traffic-group true
mask 255.255.255.255
route-advertisement enabled
traffic-group /Common/traffic-group-1
}
ltm virtual-address /test-as3-01/10.39.20.4%5 { << typical for BIGIP. route advertisement is missing in this case.
address 10.39.20.4
arp enabled
icmp-echo enabled
inherited-traffic-group true
mask 255.255.255.255
traffic-group /Common/traffic-group-1
}