🐈
etherswitch on Cloud Edge 100s G2 by FreeBSD 15.0-current 2
この記事はなにか
前回の続き。
認識
実際にチップが認識されると、dmesgで以下のような出力を確認できる。
e6000sw0: <Marvell 88E6190> on mdio1
e6000sw0: single-chip addressing mode
e6000sw0: switch is ready.
miibus0: <MII bus> on e6000sw0
e1000phy0: <Marvell 88E1000 Gigabit PHY> PHY 1 on miibus0
e1000phy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus1: <MII bus> on e6000sw0
e1000phy1: <Marvell 88E1000 Gigabit PHY> PHY 2 on miibus1
e1000phy1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus2: <MII bus> on e6000sw0
e1000phy2: <Marvell 88E1000 Gigabit PHY> PHY 3 on miibus2
e1000phy2: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master
e6000sw0port1: link state changed to DOWN
, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus3: <MII bus> on e6000sw0
e6000sw0port2: link state changed to DOWN
e6000sw0port3: link state changed to DOWN
e1000phy3: <Marvell 88E1000 Gigabit PHY> PHY 4 on miibus3
e1000phy3: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus4: <MII bus> on e6000sw0
e1000phy4: <Marvell 88E1000 Gigabit PHY> PHY 5 on miibus4
e1000phy4: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus5: <MII bus> on e6000sw0
e1000phy5: <Marvell 88E1000 Gigabit PHY> PHY 6 on miibus5
e1000phy5: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus6: <MII bus> on e6000sw0
e6000sw0port4: link state changed to DOWN
e6000sw0port5: link state changed to DOWN
e6000sw0port6: link state changed to DOWN
e1000phy6: <Marvell 88E1000 Gigabit PHY> PHY 7 on miibus6
e1000phy6: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus7: <MII bus> on e6000sw0
e1000phy7: <Marvell 88E1000 Gigabit PHY> PHY 8 on miibus7
e1000phy7: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
etherswitch0: <Switch controller> on e6000sw0
e6000sw0port7: link state changed to DOWN
e6000sw0port8: link state changed to DOWN
e6000sw0port2: link state changed to UP
e6000sw0port4: link state changed to UP
e6000sw0port2: link state changed to DOWN
e6000sw0port4: link state changed to DOWN
e6000sw0port2: link state changed to UP
e6000sw0port4: link state changed to UP
e6000sw0port2: link state changed to DOWN
ix0: link state changed to UP
ix1: link state changed to UP
e6000sw0port2: link state changed to UP
e6000sw0port2: link state changed to DOWN
e6000sw0port4: link state changed to DOWN
e6000sw0port8: link state changed to UP
e6000sw0port8: link state changed to DOWN
e6000sw0port2: link state changed to UP
e6000sw0port2: link state changed to DOWN
e6000sw0port1: link state changed to UP
e6000sw0port1: link state changed to DOWN
e6000sw0port7: link state changed to UP
e6000sw0port7: link state changed to DOWN
e6000sw0port5: link state changed to UP
e6000sw0port5: link state changed to DOWN
e6000sw0port3: link state changed to UP
e6000sw0port3: link state changed to DOWN
e6000sw0port4: link state changed to UP
何も設定していない場合、etherswitchcfgコマンドを流すと、以下のようになる。
# etherswitchcfg
etherswitch0: VLAN mode: PORT
port0:
flags=0<>
media: <unknown type>
status: no carrier
port1:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port2:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port3:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port4:
flags=0<>
media: Ethernet autoselect (none)
status: active
port5:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port6:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port7:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port8:
flags=0<>
media: Ethernet autoselect (none)
status: no carrier
port9:
flags=1<CPUPORT>
media: Ethernet 2500Base-T <full-duplex>
status: active
port10:
flags=1<CPUPORT>
media: Ethernet 2500Base-T <full-duplex>
status: active
vlangroup1:
port: 1
members 2,3,4,5,6
vlangroup2:
port: 2
members 1,3,4,5,6
vlangroup3:
port: 3
members 1,2,4,5,6
vlangroup4:
port: 4
members 1,2,3,5,6
vlangroup5:
port: 5
members 1,2,3,4,6
vlangroup6:
port: 6
members 1,2,3,4,5
vlangroup7:
port: 7
members 1,2,3,4,5,6
vlangroup8:
port: 8
members 1,2,3,4,5,6
vlangroup9:
port: 9
members 1,2,3,4,5,6
vlangroup10:
port: 10
members 1,2,3,4,5,6
vlangroup[0]をリセットする
# etherswitchcfg vlangroup[0] members none
他のvlangroup[*]もリセットしたきゃそのようにスクリプト回してね
タグVLANを使いたい
# etherswitchcfg config vlan_mode DOT1Q
# etherswitchcfg vlangroup127 vlan 127
# etherswitchcfg vlangroup127 member 1t,2t
これでタグVLANでお喋りできるようになる
ポートVLANを使いたい
# etherswitchcfg config vlan_mode DOT1Q
# etherswitchcfg vlangroup127 vlan 127
# etherswitchcfg vlangroup127 members 1,2
これでポートVLAN使えるんだけど、ホストなFreeBSDはアクセスできない。
ホストなFreeBSDからも触りたいときは
# etherswitchcfg vlangroup127 members 1,2,9t,10t
# ifconfig ix0.127 create
# ifconfig ix0.127 inet XXX.XXX.XXX.XXX/XX up
みたいにすると、ホストのix0.127からIKERU
というか ix0,1も使えるようにしとけよ
# ifconfig ix0 up
# ifconfig ix1 up
Discussion