์๋
ํ์ธ์.
StaticFlowEntryManager์ ๋ด๋น์(?) ์
๋๋ค.^^
loadFlowModsFromDB ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ณณ์ OFMStaticFlowEntryManager.initialize ๋ฐ์ ์์ต๋๋ค.
์ฆ, ์์๋ค์ํผ ์ด ๋ฉ์๋๋ ์ปจํธ๋กค๋ฌ๊ฐ ์์(๋ถํ
)๋ ๋ DB์ ์ ์ฅ๋์ด ์๋ static rule๋ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ถ๋ฌ์ค๋ ๊ธฐ๋ฅ์ ํฉ๋๋ค.
์ด์ ๋ถํฐ๋ mininet์ ์๋ก ์ค๋ช
๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ด๊ธฐํ ๋จ๊ณ์์ ์ด ์์
์ ์ํํ๋ ์ด์ ๋ mininet ์์ ์ค์์น, ํธ์คํธ๊ฐ ์์ฑ๋๊ณ rule์ ๋ด๋ ค ๋์๋๋ฐ...
์๋ํ๋ ์๋์น ์์๋ ์ปจํธ๋กค๋ฌ๊ฐ ์ฌ๋ถํ
๋ ๊ฒฝ์ฐ ์ค์์น์ ์ด๋ฏธ ๊น๋ฆฐ rule๊ณผ ์ปจํธ๋กค๋ฌ๊ฐ ๊ฐ์ง rule์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด์์
๋๋ค.
๋ง์ฝ ์๊ตฌ์ ์ฅ์ ์์ด IRIS๋ฅผ ๋์์ํจ๋ค๋ฉด ์ปจํธ๋กค๋ฌ๋ง ์ฌ๋ถํ
๋๋ ๊ฒฝ์ฐ๋ผ๋ฉด ์ผ๊ด์ฑ์ด ๊นจ์ง๋๋ค.
๊ทธ๋์..
DB๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ์ปจํธ๋กค๋ฌ๋ง ์ฌ๋ถํ
๋๋ ๊ฒฝ์ฐ ์๋์ผ๋ก DB->memory๋ก rule๋ค์ ์ฝ์ด์ต๋๋ค.
๋ฐ๋ฉด, ์ปจํธ๋กค๋ฌ๋ ๊ทธ๋๋ก ์๋๋ฐ mininet์ ํ ํด๋ก์ง๋ง ์ฌ์์ฑํ ๊ฒฝ์ฐย
์ด๋๋ ๋ฌผ๋ก ์ค์์น์ ๊น๋ ค์๋ rule๋ค์ ๋ค ์ญ์ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ DB์ memory์๋ rule๋ค์ด ๋จ์์์ง์.
์ด rule ๋ค์ ํ๋์ฉ ๋ค์ ์
๋ ฅํด๋ ๋์ง๋ง... ๋
ธ๊ฐ๋ค๋ฅผ ํผํ๊ธฐ ์ํด 'reload' REST API๋ฅผ ๋ง๋ค์ด ๋์์ต๋๋ค.
๋ฌผ๋ก ์ด rule ๋ค์ ๋์ด์ ์ฌ์ฉํ์ง ์๊ฒ ๋ค๋ฉด 'clear' REST API๋ฅผ ์ฌ์ฉํ์ฌ DB๊น์ง ๋ชจ๋ ์ญ์ ํด์ผ ์ผ๊ด์ฑ์ด ์ ์ง๋ฉ๋๋ค.
์ง๋ฌธ์ ๋ด์ฉ์ ๋ณด๋ฉด "MongoDB์ Flow๋ฅผ ๋ฃ์ด๋๊ณ Switch์ FlowTable์ ์ญ์ ํ ํ ์ฌ๋ถํ
? ์ ํด๋ณด๋ฉด ์ฌ๋ผ ์ค์ง ์์ต๋๋ค." ๋ผ๊ณ ๋์ด ์๋ค์.
์ด๋ Switch์ FlowTable์ REST API๋ก ์ง์ฐ์
จ์ ๊ฒ ๊ฐ์๋ฐ
์ด ๋ DB์ rule๋ ๊ฐ์ด ์ญ์ ๋ฉ๋๋ค.
์ถ๊ฐ ์ง๋ฌธ์์๋ ์ข ๋ ์์ธํ ์
๋ ฅ์ด ํ์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก static flow entry๋ ํค๊ฐ์ name์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
๋ฐ๋ผ์ entry ๋ด์ฉ ์ค 'dpid'๋ง ๋ณ๊ฒฝํ์ฌ ๋ด๋ฆฐ๋ค๋ฉด ๊ธฐ์กด์ ๋์ผํ name์ ๊ฐ์ง๋ entry๋ ์ญ์ ๋ฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
๋๋ถ์ reload REST API์ ๊ด๋ จ๋ ๋ฒ๊ทธ ํ๋ ๋ ๊ณ ์ณค๋ค์.