4. DHCP in ONOS
dhcp DhcpService.java
DhcpStore.java
IpAssignment.java
DHCP service interface 정의(user)
[81 lines]
IP 할당 및 제거 관련 interface 정의(app)
[110 lines]
IP 객체, ipAddress, timestamp 등 ip 관련된
변수 및 함수 정의 [216 lines]
5. DHCP in ONOS
cli
dhcp-lease 명령어 실행(DHCP serivce의
leasetime, renewtime, rebindtime 출력)
[42 lines]
dhcp-list 명령어 실행(MAC ID 별 IP 출력)
[45 lines]
dhcp-remove-static-mapping 명령어 실행(특
정 MAC id의 ip 제거) [57 lines]
DhcpLeaseDetails.java
DhcpListAllMappings.java
DhcpRemoveStaticMapping.java
DhcpSetStaticMapping.java
FreeIpCompleter.java
MacIdCompleter.java
dhcp-set-static-mapping 명령어 실행(특정
MAC id에 ip 할당) [62 lines]
ip 자동완성 [49 lines]
mac 자동완성 [49 lines]
6. DHCP in ONOS
impl DHCP 관련 config 변수 getter, setter
[320 lines]
DHCP service interface 구현, packet process
[699 lines]
GUI 관련 [57 lines]
[98 lines]
DHCP store interface 구현[329 lines]
DhcpConfig.java
DhcpManager.java
DhcpUi.java
DhcpViewMessageHandler.java
DistributedDhcpStore.java
9. AAA in ONOS
aaa AAA.java
└Ethernet buildEapolResponse(MacAddress dstMac, MacAddress srcMac,
short vlan, byte eapolType, EAP eap)
- build an EAPOL packet based on the given parameters
└void requestIntercepts()
- request packet in via packetservice
10. AAA in ONOS
aaa AAA.java
└class ReactivePacketProcessor
└void process(PacketContext context)
- extract the original ethernet frame from the packet information,
identify if incoming packet comes from supplicant(EAP) or RADIUS
└RADIUS getRadiusPayload(byte identifier, EAP eapPacket)
- creates and initializes fields of a RADIUS packet
└void handleSupplicantPacket(InboundPacket inPakcet)
- Handles PAE packets(supplicant)
└void handleRadiusPacket(RADIUS radiusPacket)
- Handle RADIUS packets(인증된 사용자, 미인증 사용자에 따라 다른
처리-거부, 인증받기)
└void sendRadiusMessage(RADIUS radiusMessage)
└ void senPacketToSupplicant(Ethernet ethernetPkt,
ConnectPoint connectPoint)