1

私は、CentOS の C++ でルーティング アルゴ プロトコルに取り組んでいました。centos は vmware で実行されていました。vmware でインターフェイス カードをブリッジ モードで接続すると、mcast アドレス 224.0.0.9 を登録できました。しかし、gns3クラウドを使用してcentosをciscoルーターに接続すると、エラーが発生しました

全体的なトポロジーは次のようになります

cenots++bridgemode-----bridgemode+centos //グループに追加可能

centos+--vmnet1-----------+vmnet1(gns3cloud---cisco router) //グループに追加できません

h=gethostbyname("224.0.0.9");
if(h==NULL) {
     cout << "unknown group address"<<endl; 
  exit(1);
}

if memcpy((char *) &mcastAddr.sin_addr.s_addr,h->h_addr_list[0],h->h_length);

mreq.imr_multiaddr.s_addr=mcastAddr.sin_addr.s_addr;   //
mreq.imr_interface.s_addr=htonl(INADDR_ANY);

int mc = setsockopt(soc,IPPROTO_IP,IP_ADD_MEMBERSHIP,(void *) &mreq, sizeof(mreq));
if(mc<0) {
 cout <<"unable to join MCAST GROUP"<<endl;
 printf("ERROR: %s\n", strerror(errno));
exit(1);

}

errno が返されます。エラー: そのようなデバイスはありません

ps# cisco ルーターに ping できるインターフェイス eth0 は 1 つだけです。

どんなポインタでも大歓迎です

ありがとう

4

0 に答える 0