特に設定は必要なく10G SFP+と同様に認識

AS5812X-1#sh int transceiver e 1/17
Information of Eth 1/17
Connector Type        : unknown
Fiber Type            : Multimode Mode
Eth Compliance Codes  : 10GBASE-LR
Baud Rate             : 10000 MBd
Vendor OUI            : 00-00-00
Vendor Name           : EMBRIONIX
Vendor PN             : 22HDRT-LM-0514
Vendor Rev            : 211
Vendor SN             : 117082400222
Date Code             : 17-10-05
Tx-disable Capability : Yes
DDM Information
   Temperature         : 24.63 degree C
   Vcc                 : 3.27 V
   Bias Current        : 0.00 mA
   TX Power            : -40.00 dBm
   RX Power            : -40.00 dBm
DDM Thresholds
                            Low Alarm   Low Warning  High Warning    High Alarm
   -----------           ------------  ------------  ------------  ------------
   Temperature(Celsius)        -20.00        -15.00         80.00         85.00
   Voltage(Volts)                3.00          3.14          3.47          3.60
   Current(mA)                   0.00          0.00          0.00          0.00
   TxPower(dBm)                -40.00        -40.00        -40.00        -40.00
   RxPower(dBm)                -40.00        -40.00        -40.00        -40.00

DHCPが無い状況での初期IPアドレスはencode側が192.168.39.215、decode側が192.168.39.216。

RESTで状態をよみ、パラメータも設定する。

source IPv4の変更

put "http://192.168.39.215/emsfp/node/v1/flows/a04f66a2-9910-11e5-8894-feff819cdc9f/"
put "http://192.168.39.216/emsfp/node/v1/flows/a04f66a2-9910-11e5-8894-feff819cdc9f/"

送受双方に

{ "network": {     "src_ip_addr": "192.168.0.1" } }

destination IPv4/MACの変更、送受双方に

{
  "network": {
    "dst_ip_addr": "239.10.20.11",
    "dst_mac": "01:00:5e:0a:0a:0b"
   }
}

送信の停止

{
  "enable": "0"
}

DHCPを殺してアドレスを指定する場合

PUT http://192.168.39.216/emsfp/node/v1/self/ipconfig/

{
  "ip_addr": "192.168.100.100",
  "subnet_mask": "255.255.255.0",
  "gateway": "192.168.100.1",
  "hostname": "SENDER01",
  "dhcp_enable": "0"
}

設定を工場出荷時に

PUT http://192.168.39.216/emsfp/node/v1/self/diag/common/

{
  "config": {
      "reset": "1"
  }
}

マルチキャストトラフィックへの対応

emSFPの標準的なトラフィックはIPv4 multicastで通信を行います。それも約3Gbpsと広帯域であり注意が必要です。1Gのインターフェースへ流れ込むと回線帯域をすべて埋めてしまいます。

1)VLANで分ける方法

emSFPへの制御を放棄するなら単純にVLANを隔離。untagでVLANを設定。

確認方法

show vlan
show int counter

1-1)制御を隔離してVLANで分ける方法

emSFPは制御用のIPアドレスを持ちます(defaultは192.168.39.215)。これをtag付きVLANに隔離する方法もあります。逆に、トラフィック側をtag付きで出す設定も可能です。

http://192.168.39.216/emsfp/node/v1/self/ipconfig

{
  "ctl_vlan_id": "39",
  "ctl_vlan_enable": "1"
 }

EdgeOS側は

(config)#vlan database
(config-vlan)#vlan 39 name emSFP-CTL media ether state active
(config)#int [emSFP port]
(config-if)#switchport allowed vlan add 39 tagged
(config-if)#int [management PC port]
(config-if)#switchport native vlan 39

2)igmp snoop(編集中)

同一L2セグメント内でもigmpを認識して、要求があったポートだけにIPv4 multicastトラフィックを流す機能。

emSFP側は"igmp source IP address"の設定が重要。dest MAC addressがちゃんとdest  IP addressから計算されたものであることが必要。

外部計算ツール

EdgeOS側は

ip pim sparse
ip igmp snoop

確認方法

show ip igmp snoop  query

3)L3で分ける方法(動作検証未実施)

PIMでルーティングする。全部のポートをL3的に別々にするのはやりすぎかも。

ip pim sparse

4)ユニキャストに変更する(動作検証未実施)

複数端末で受信出来なくなりますが、P2Pで映像を飛ばすだけならユニキャストの方が手軽と言うか事故が少ないでしょう。flowを送受するインターフェースにはarpの機能がないのに注意。スイッチのMAC tableがちゃんと更新されるかが問題。

dst_macを調べる方法。

GET http://192.168.39.216/emsfp/node/v1/self/ipconfig/

{ 
"local_mac": "40:a3:6b:a0:39:44"
}

PUT http://192.168.39.215/emsfp/node/v1/flows/a04f66a2-9910-11e5-8894-feff819cdc9f/

送受双方に

{
  "network": {
    "dst_ip_addr": "192.168.0.10",
    "dst_mac": "40:a3:6b:a0:39:44"
   }
}

ステータス所得例

get "http://192.168.39.215/emsfp/node/v1/flows/(ID)"

http://192.168.39.215/emsfp/node/v1/flows/a04f66a2-9910-11e5-8894-feff819cdc9f/

{
  "version": "2",
  "label": "st2022 flow",
  "id": "a04f66a2-9910-11e5-8894-feff819cdc9f",
  "source_id": "a0d98e96-990d-11e5-8994-feff819cdc9f",
  "type": "8",
  "name": "tx flow ch1",
  "network": {
    "src_ip_addr": "192.168.0.1",
    "src_udp_port": "10000",
    "dst_ip_addr": "239.10.10.11",
    "dst_udp_port": "20000",
    "dst_mac": "01:00:5e:0a:0a:0b",
    "vid_clk_rate": "0",
    "vlan_tag": "0",
    "ssrc": "0",
    "pkt_cnt": "34679"
  },
  "enable": "1",
  "format_code_valid": "1",
  "format_code_t_scan": "0",
  "format_code_p_scan": "4",
  "format_code_mode": "16",
  "format_code_format": "0",
  "format_code_rate": "10240",
  "format_code_sampling": "8192"
}

interlaced,3G-SDI,1920x1080,59.94 progressive scan,

http://192.168.39.216/emsfp/node/v1/flows/a04f66a2-9910-11e5-8894-feff819cdc9f/

{
  "version": "2",
  "label": "st2022 flow",
  "id": "a04f66a2-9910-11e5-8894-feff819cdc9f",
  "source_id": "a0d98e96-990d-11e5-8994-feff819cdc9f",
  "type": "9",
  "name": "rx flow ch1",
  "network": {
    "src_ip_addr": "192.168.0.1",
    "src_udp_port": "10000",
    "dst_ip_addr": "239.10.10.11",
    "dst_udp_port": "20000",
    "dst_mac": "01:00:5e:0a:0a:0b",
    "vid_clk_rate": "0",
    "vlan_tag": "0",
    "ssrc": "0",
    "pkt_filter_src_ip": "0",
    "pkt_filter_src_udp": "0",
    "pkt_filter_src_mac": "0",
    "pkt_filter_dst_ip": "1",
    "pkt_filter_dst_udp": "0",
    "pkt_filter_dst_mac": "0",
    "pkt_filter_vlan": "0",
    "pkt_filter_ssrc": "0",
    "igmp_src_ip": "192.168.0.10",
    "pkt_cnt": "1436839465"
  },
  "enable": "1",
  "format_code_valid": "1",
  "format_code_t_scan": "0",
  "format_code_p_scan": "4",
  "format_code_mode": "16",
  "format_code_format": "0",
  "format_code_rate": "10240",
  "format_code_sampling": "8192"
}

各値の意味

code_mode(0=HD-SDI,8=SD-SDI,16=3G-SDI)

code_format(0=1920x1080,64=1280x720)

code_rate(10240=59.94Hz progressive sampling)

code_sampling(0=interlaced,8192=progresive)

SFFレジスターの値(SFF-8472)

http://192.168.39.216/emsfp/node/v1/self/sff/

{
  "a0": "03,04,82,20,00,00,00,00,00,00,00,06,64,00,00,00,00,00,ff,00,45,4d,42,52,49,4f,4e,49,58,20,20,20,20,20,20,20,00,00,00,00,32,32,48,44,52,54,2d,4c,4d,2d,30,35,31,36,20,20,32,31,31,20,00,00,00,e8,00,02,00,00,31,31,37,30,38,32,35,30,30,35,30,35,20,20,20,20,31,37,30,39,31,39,20,20,68,90,05,5c,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,00,00,00,00",
  "shadow": "ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,57,34,32,30,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff",
  "a2": "55,00,ec,00,50,00,f1,00,8c,a0,75,30,87,8c,7a,a8,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,3f,80,00,00,00,00,00,00,01,00,00,00,01,00,00,00,01,00,00,00,01,00,00,00,00,00,00,4b,21,ad,80,78,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00",
  "b2": "123"
}
embrionix emSFPのflow diag情報をRESTのGETで所得してJSON形式のデータのコードを解析する

コメント欄を読み込み中