commit | bd5ce9c2ac06972e5532e92fad4c8799289ecf4d | [log] [tgz] |
---|---|---|
author | Saurav Das <saurav.das@opennetworking.org> | Fri Sep 04 18:46:45 2020 -0700 |
committer | Saurav Das <saurav.das@opennetworking.org> | Fri Sep 04 19:03:05 2020 -0700 |
tree | 3a29468f96466f433effa2c1fbcbd1b6193945c6 | |
parent | 3b7868d5d66bf4b604b7c62a6235884006934095 [diff] |
Changing DHCP allocation map key to account for VLAN-id. This way different services for the same subscriber, which have the same macAddress but different vlanIds, won't overwrite each other. Allocations will also show the vlanId. Also allocations were previously done only for DHCPACK for messages from the server. Now updating allocations on all messages from dhcp-server. Finally, updating unit tests to check dhcp-allocations, and cleaning up the logs by ignoring port-stats. Change-Id: Ib48039ddcea0de7d3a60a7a6c43df40b932c4811
The ONOS dhcpl2relay application is a DHCP Relay Agent which does Layer 2 relay.
The DHCP packets sent towards the DHCP Server (DHCP DISCOVER and DHCP REQUEST) are double tagged by this app. It retrieves the tag values to be used from the Sadis
Service. Similarly it replaces the tags on the packets received from the server (DHCP OFFER and DHCP ACK) with priority tags.
DHCP Option 82 with CircuitId and RemoteId are added to packets sent to the DHCP server and Option 82 received from the server are removed before relaying back to the client. The CircuitId and Remote Id are retrieved from Sadis
Service.
There are two options to packet-in/packet-out to the DHCP Server.
dhcpserverConnectPoints
useOltUplinkForServerPktInOut
"org.opencord.dhcpl2relay" : { "dhcpl2relay" : { "dhcpServerConnectPoints" : [ "of:00000000000000b2/2" ], "useOltUplinkForServerPktInOut" : true } }
Port on the switch through which the DHCP Server is reachable
The default value of this parameter is false. Only if this parameter is false the dhcpServerConnectPoints parameter is used else not
"org.opencord.sadis" : { "sadis" : { "integration" : { "cache" : { "enabled" : true, "maxsize" : 50, "ttl" : "PT1m" } }, "entries" : [ { "id" : "uni-128", # (This is an entry for a subscriber) Same as the portName of the Port as seen in onos ports command "cTag" : 2, # C-tag of the subscriber "sTag" : 2, # S-tag of the subscriber "nasPortId" : "uni-128" # NAS Port Id of the subscriber, could be different from the id above }, { "id" : "1d3eafb52e4e44b08818ab9ebaf7c0d4", # (This is an entry for an OLT device) Same as the serial of the OLT logical device as seen in the onos devices command "hardwareIdentifier" : "00:1b:22:00:b1:78", # MAC address to be used for this OLT "ipAddress" : "192.168.1.252", # IP address to be used for this OLT "nasId" : "B100-NASID" # NAS ID to be used for this OLT } ] } }