KSZ8995MA 사용법
VLAN 설정
port4를 CPU 포트로 설정하고 port0과 VLAN을 결합해보십시오.
# etherswitchcfg config vlan_mode DOT1Q
# etherswitchcfg port0 pvid 2
# etherswitchcfg port0 striptag
# etherswitchcfg port4 pvid 2
# etherswitchcfg port4 addtag
# etherswitchcfg vlangroup2 vlan 2
# etherswitchcfg vlangroup2 members 0,4
# ifconfig vlan2 create vlan 2 vlandev arge0
# ifconfig vlan2 inet 10.10.10.111/24
vlangroup은 어느 것이든 좋습니다.
통상의 Switch의 경우와 Dot1Q+VLAN에서의 ping의 ping 100회의 응답 속도를 2회 확인했는데 왠지 처리가 많아야 하는 Dot1Q가 빨랐습니다. 수수께끼입니다.
일반 Switch
round-trip min/avg/max/stddev = 1.069/4.698/77.992/13.074 ms
round-trip min/avg/max/stddev = 1.085/4.604/76.116/13.094 ms
Dot1Q+VLAN
round-trip min/avg/max/stddev = 0.997/3.877/70.568/10.973 ms
round-trip min/avg/max/stddev = 1.039/3.469/59.865/9.355 ms
Mirroring 설정
port0의 송수신을 port4로 모니터합니다. 다음은 데이터 시트의 레지스터입니다. 포트는 1 시작입니다.
# etherswitchcfg config vlan_mode NONE
# etherswitchcfg reg 17=0x7f
# etherswitchcfg reg 81=0x9f
port4의 interface로 tcpdump하면 port0의 통신을 확인할 수 있습니다.
etherswitch는 VLAN등의 최저한의 기능은 커멘드로 서포트하지만, 칩에 의해 기능이 다양하기 때문에 개별의 기능은 레지스터 두드려서, 정책과 같습니다.
스위치에의 접속은 SPI나 MDIO, I2C등입니다만, etherswitchcfg로 모두 똑같이 읽고 쓸 수 있는 것은 현실적인 구현이라고 생각합니다.
MIB
mruby-etherswitch를 사용하여 MIB를 선택해 보았습니다.
ks.rbmib = ARGV[0].to_i
t = EtherSwitch.new(0)
port = 0
while port < 5 do
t.writereg(110, 0x1c)
t.writereg(111, (0x20 * port) | mib)
c = (t.readreg(117) << 24) | (t.readreg(118) << 16)
c = c | (t.readreg(119) << 8) | t.readreg(120)
c = c & 0x3fffffff
if port != 0 then
print ","
end
print c.to_s
port = port + 1
end
실행해 보겠습니다.
# /usr/local/bin/mruby ks.rb 14
413,0,0,0,0
어쨌든,이 MIB는 액세스 할 때 재설정되는 것 같습니다. bsnmp-ucd에서는 정기적으로 호출되어 마지막 값을 읽을 수 있으므로이 사양이라면 그대로 사용할 수 없습니다. :(
Reference
이 문제에 관하여(KSZ8995MA 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yamori813/items/2cfff0f12d3bfa9bd0ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# etherswitchcfg config vlan_mode DOT1Q
# etherswitchcfg port0 pvid 2
# etherswitchcfg port0 striptag
# etherswitchcfg port4 pvid 2
# etherswitchcfg port4 addtag
# etherswitchcfg vlangroup2 vlan 2
# etherswitchcfg vlangroup2 members 0,4
# ifconfig vlan2 create vlan 2 vlandev arge0
# ifconfig vlan2 inet 10.10.10.111/24
round-trip min/avg/max/stddev = 1.069/4.698/77.992/13.074 ms
round-trip min/avg/max/stddev = 1.085/4.604/76.116/13.094 ms
round-trip min/avg/max/stddev = 0.997/3.877/70.568/10.973 ms
round-trip min/avg/max/stddev = 1.039/3.469/59.865/9.355 ms
port0의 송수신을 port4로 모니터합니다. 다음은 데이터 시트의 레지스터입니다. 포트는 1 시작입니다.
# etherswitchcfg config vlan_mode NONE
# etherswitchcfg reg 17=0x7f
# etherswitchcfg reg 81=0x9f
port4의 interface로 tcpdump하면 port0의 통신을 확인할 수 있습니다.
etherswitch는 VLAN등의 최저한의 기능은 커멘드로 서포트하지만, 칩에 의해 기능이 다양하기 때문에 개별의 기능은 레지스터 두드려서, 정책과 같습니다.
스위치에의 접속은 SPI나 MDIO, I2C등입니다만, etherswitchcfg로 모두 똑같이 읽고 쓸 수 있는 것은 현실적인 구현이라고 생각합니다.
MIB
mruby-etherswitch를 사용하여 MIB를 선택해 보았습니다.
ks.rbmib = ARGV[0].to_i
t = EtherSwitch.new(0)
port = 0
while port < 5 do
t.writereg(110, 0x1c)
t.writereg(111, (0x20 * port) | mib)
c = (t.readreg(117) << 24) | (t.readreg(118) << 16)
c = c | (t.readreg(119) << 8) | t.readreg(120)
c = c & 0x3fffffff
if port != 0 then
print ","
end
print c.to_s
port = port + 1
end
실행해 보겠습니다.
# /usr/local/bin/mruby ks.rb 14
413,0,0,0,0
어쨌든,이 MIB는 액세스 할 때 재설정되는 것 같습니다. bsnmp-ucd에서는 정기적으로 호출되어 마지막 값을 읽을 수 있으므로이 사양이라면 그대로 사용할 수 없습니다. :(
Reference
이 문제에 관하여(KSZ8995MA 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yamori813/items/2cfff0f12d3bfa9bd0ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
mib = ARGV[0].to_i
t = EtherSwitch.new(0)
port = 0
while port < 5 do
t.writereg(110, 0x1c)
t.writereg(111, (0x20 * port) | mib)
c = (t.readreg(117) << 24) | (t.readreg(118) << 16)
c = c | (t.readreg(119) << 8) | t.readreg(120)
c = c & 0x3fffffff
if port != 0 then
print ","
end
print c.to_s
port = port + 1
end
# /usr/local/bin/mruby ks.rb 14
413,0,0,0,0
Reference
이 문제에 관하여(KSZ8995MA 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamori813/items/2cfff0f12d3bfa9bd0ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)