ONOS의 UNTAGGED Vlan 값에 대해
OF-DPA가 설치된 WhiteBox 스위치에서 Vlan Flow Rule이 정상적으로 동작을 안하여 고생을 했다.
1. Vlan Flow Rule 예시
먼저 OF-DPA의 Vlan Flow Rule이 정상적으로 동작하는 예와 동작하지 않는 예이다.
정상 동작 함
Table ID 10 (VLAN): Retrieving all entries. Max entries = 16384, Current entries = 2
-- inPort = 5 (Physical) vlanId:mask = 0x0000:0x1fff (VLAN 0) | GoTo = 20 (Termination MAC) new VlanId = 0x1009 (VLAN 9) | priority = 100 hard_time = 0 idle_time = 0 cookie = 6
-- inPort = 5 (Physical) vlanId:mask = 0x1009:0x1fff (VLAN 9) | GoTo = 20 (Termination MAC) | priority = 100 hard_time = 0 cookie = 5
정상 동작 안 함
Table ID 10 (VLAN): Retrieving all entries. Max entries = 16384, Current entries = 2
-- inPort = 5 (Physical) vlanId:mask = 0x1000:0x1fff (VLAN 0) | GoTo = 20 (Termination MAC) new VlanId = 0x1009 (VLAN 9) | priority = 100 hard_time = 0 idle_time = 0 cookie = 6
-- inPort = 5 (Physical) vlanId:mask = 0x1009:0x1fff (VLAN 9) | GoTo = 20 (Termination MAC) | priority = 100 hard_time = 0 cookie = 5
위의 Flow Rule에서 2번째 줄의 붉은 색으로 표시된 부분은 Vlan의 Tag/Untag를 표시해주는 부분이다.
2. Vlan Tag/Untag
아래는 ONOS, OF-DPA, openflow 에서 말하는 Vlan Tag/Untag의 값이다.
ONOS
// Based on convention used elsewhere? Check and change if needed public static final short UNTAGGED = (short) 0xffff; public static final short ANY_VALUE = (short) 0x1000;
OF-DPA
The VLAN Id 0x0000 (OFPVID_NONE, defined in the OpenFlow specification) is used for an untagged packet and 0x1000 (OFPVID_PRESENT) for a priority tagged packet
Openflow
enum ofp_vlan_id { OFPVID_PRESENT = 0x1000, /* Bit that indicate that a VLAN id is set */ OFPVID_NONE = 0x0000, /* No VLAN id was set. */ };
위의 예와 Vlan Tag/Untag 값을 보았을 때, 패킷에 Vlan이 달려있지 않는 조건에는 0x0000을 표시해주어야 한다.
하지만 ONOS에서는 0xffff로 소스코드가 작성되어 있고 OF-DPA로 Flow Rule을 내릴 때 0x1000으로 변하게 된다.
어떤 이유에서 인지 모르겠지만 사용자가 Vlan Untagged 값을 확인하고 수정하여 사용하라고 주석으로 설명되어있다.
하지만 사용자가 VlanId.java 파일까지 들어가서 주석을 읽으며 수정해서 사용할 수 있을까 싶다.
또한, 소스코드를 빌드 하지 않고 사용한다면 더더욱 해결하기 어려운 문제라고 생각한다.
'Dev > ONOS & OF-DPA' 카테고리의 다른 글
(내가 알고 있는) SDN의 모든 것 (1) - 시작 - (0) | 2018.06.04 |
---|---|
[OF-DPA] Spec 문서 (0) | 2018.04.25 |
[ONOS App] fwd 분석 (0) | 2017.09.22 |
[OF-DPA] EdgecorE 5712에 ONL 2.0, OF-DPA 3.0 EA 설치하기 (0) | 2017.08.09 |
[ONON] Log 설정 (0) | 2017.08.08 |