f5-appsvcs-extension icon indicating copy to clipboard operation
f5-appsvcs-extension copied to clipboard

Why is not possible define Service_Address as IPv4 only?

Open mkyrc opened this issue 3 years ago • 0 comments
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
}

mkyrc avatar Jan 27 '22 08:01 mkyrc