mark@alias.UUCP (Mark Andrews) (02/07/90)
I have been playing with the snoop(7P) protocol on a variety of 4D's (4D/60,70, 20, 25) running Irix 3.2. My program was constructed using the examples in the manual page: #include <sys/types.h> #include <net/raw.h> #include <netinet/if_ether.h> #define ETHERHDRPAD RAW_HDRPAD(sizeof(struct ether_header)) struct etherpacket { struct snoopheader snoop; char pad[ETHERHDRPAD]; struct ether_header ether; char data[ETHERMTU]; }; main() { int s; struct sockaddr_raw sr; struct snoopfilter sf; struct etherpacket ep; int cc, on = 1; s = socket(AF_RAW, SOCK_RAW, RAWPROTO_SNOOP); bzero(sr.sr_ifname, RAW_IFNAMSIZ); /* * If the family is not set (not specified in manual page), bind * fails due to unsupported address family. */ sr.sr_family = AF_RAW; sr.sr_port = 0; if (bind(s, &sr, sizeof sr) < 0) { /* Error */ } bzero((char *) &sf, sizeof sf); if (ioctl(s, SIOCADDSNOOP, (struct snoopfilter *)&sf) < 0) { perror("Adding snoop filter"); exit(1); } < .... > ----------------------------------------------------------------------------- When the program attempts to add the snoopfilter to the socket, the ioctl() fails with the error ``Invalid argument'' and the following message appears on the console of the machine (4D/80S in this case): enp0: promisc. mode failed: no firmware support Is this going to be fixed on a future release ? I was hoping to use some of the above code to port tcpdump to Irix. ------------------------------------------------------------------------------ Mark Andrews Systems Programmer, Alias Research, Toronto, Canada Phone: (416)-362-9181 UUCP: mark%alias@csri.utoronto.ca
jweldon@renegade.sgi.com (Jack Weldon) (02/09/90)
In article <739@alias.UUCP> mark@alias.UUCP (Mark Andrews) writes: > >I have been playing with the snoop(7P) protocol on a variety of > >When the program attempts to add the snoopfilter to the socket, the ioctl() >fails with the error ``Invalid argument'' and the following message appears >on the console of the machine (4D/80S in this case): > > enp0: promisc. mode failed: no firmware support > >Is this going to be fixed on a future release ? I was hoping to use some >of the above code to port tcpdump to Irix. > If your system is under a support contract, contact the Geometry Hotline and request that the newer PROMS be installed in your 4D{50,60,70,80}. These PROMS support both snoop and 4DDN protocols. The information is contained in FB 87 (Field Bulletin 87). This is only required in CMC (enpX) boards found in the above machines. Neither the PI or the GTX series requires this type of upgrade--the newer PROM support is already installed. If you are curious as to whether your machine has the newer PROM installed, run 'hinv' from a shell. The correct output will show version 4 (SGI) PROMS: CMC ENP-10 Ethernet controller 0, firmware version 4 (SGI) Before all of the readers of this newsgroup go and call for PROM upgrades, please realize that this is not required for normal ethernet operation, but is required for snoop or 4DDN use. Future tools based on snoop may also require the upgrade, which will be fully documented in Release Notes if it IS required. Hope this helps. Cheers, Jack P. Weldon (jweldon@sgi.com) Fish and guests grow stale after 3 days SGI Product Support M.F.K. Fisher
jweldon@renegade.sgi.com (Jack Weldon) (02/09/90)
In article <3797@odin.SGI.COM> jweldon@renegade.sgi.com (Jack Weldon) writes: >> >>on the console of the machine (4D/80S in this case): >> >> enp0: promisc. mode failed: no firmware support >> >> >If your system is under a support contract, contact the Geometry Hotline >and request that the newer PROMS be installed in your 4D{50,60,70,80}. >These PROMS support both snoop and 4DDN protocols. The information is >contained in FB 87 (Field Bulletin 87). This is only required in CMC (enpX) >boards found in the above machines. Neither the PI or the GTX series >requires this type of upgrade--the newer PROM support is already installed. >If you are curious as to whether your machine has the newer PROM installed, >run 'hinv' from a shell. The correct output will show version 4 (SGI) PROMS: > >CMC ENP-10 Ethernet controller 0, firmware version 4 (SGI) > >Before all of the readers of this newsgroup go and call for PROM upgrades, >please realize that this is not required for normal ethernet operation, but >is required for snoop or 4DDN use. Future tools based on snoop may also >require the upgrade, which will be fully documented in Release Notes if it >IS required. > An SGI development engineer dropped me a note asking me to clarify the above statement, so here goes: You do not need to upgrade ANY firmware/PROMs in your ethernet board unless your machine has CMC ENP-10 Ethernet Cards in it and they are of Revision 0. It is possible that a PI or a GTX could have a CMC ENP-10 as a secondary/"gateway" board. In his words: "only if you have a CMC ENP-10 (interface name enp<unit#>) and you want to snoop or do 4DDN and hinv says revision 0" do you need an upgrade. If they want to snoop on all interfaces, they will need to upgrade down-rev CMC proms." Hope this clarifies things. Cheers, Jack P. Weldon (jweldon@sgi.com) Fish and guests grow stale after 3 days SGI Product Support M.F.K. Fisher