본문 바로가기

Dev/ONOS & OF-DPA

[ONOS] UNTAGGED Vlan 값에 대해

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