View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
...
- Ubuntu 16.04
- apt-get install kea-dhcp4-server
- install library : kea-sdnc-notify.so (/usr/local/lib)
- this library is built from source (hacked up copy of kea-pxe-replace4-mod)
- creates the hook which listens on pkt4_send
- sends an HTTP POST via libcurl if message is DHCPACK (that is response to client after Discover/Offer/Request)
- POST has macaddr, msg_name, yiaddr (yiaddr is the one we want in SDNC)
- No response required since we are not re-writing the packet
- install conf files:
- /etc/kea/kea-dhcp4.conf
i. This file sets ups the giaddr and ip blocks to be served
ii. In the demo its 192.0.2.0/24
- /etc/kea/kea-sdnc-notify.conf
i. This file sets the desintation url
ii. For testing “http://localhost/sdnc.php?macaddr=”
iii. For ONAP it would be a DMaaP TOPIC
- Start kea-dhcp4-server
- Logs in /var/log/kea-dhcp4.log
View file | ||||
---|---|---|---|---|
|
----------------------------------------------------------
Yes. I’ve kept SNIRO Functionality, all that is needed is to add a user param of Name:”Homing_Solution” Value:“sniro” when instantiating the vCPE service. If ”Homing_Solution” user param is omitted, or has value:”oof” it will use new homing/OOF flow. To use OOF the userParam “Customer_Location” is also needed.
Here is an example rest request, with user param highlighted:
{
"requestDetails":
{
"modelInfo":
{
"modelType":"service",
"modelInvariantUuid":"uuid-miu-svc-011-abcdef",
"modelVersionId":"ASDC_TOSCA_UUID",
"modelName":"SIModelName1",
"modelVersion":"2"
},
"subscriberInfo":
{
"globalSubscriberId":"SDN-ETHERNET-INTERNET",
"subscriberName":"Kaneohe"
},
"requestInfo":
{
"instanceName":"VCPE1",
"source":"VID",
"suppressRollback":"false",
"productFamilyId
View file | ||||
---|---|---|---|---|
|
"vnf-id": "12312f32-cdcb-47cc-a6e5-822b849cc58e",
"vnf-name": "zRegionOne05",
"vnf-type": "vcpesvc_rescust_0529a/vcpevsp_vgw_0412 0",
"service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"
},
"cloudConfiguration":
{
"lcpCloudRegionId":"cloudowner_mdt1",
"tenantId":"8b1df54faa3b49078e3416e21370a3ba"
},
"owningEntity": {
"owningEntityId": "randomStrings",
"owningEntityName": "randomStrings"
},
"requestParameters": {
"subscriptionServiceType":"123456789",
"aLaCarte":"false",
"userParams":
[
{
"name":"BRG_WAN_MAC_Address",
"value":"brgmac"
},
{
"name": "Customer_Location",
"value": {
"customerLatitude": "32.897480",
"customerLongitude": "-97.040443",
"customerName": "some_company"
}
},
{
"name":"Homing_Solution",
"value":"sniro"
}
]
}
}
}
Cheers,
Marcus Williams
IRC @ mgkwill
Network Software Engineer
Intel Corp. – Network Platforms Group,
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|