This is a discussion on RE: NetSNMP 5.0.3.1 Questions within the SNMP Coders forums, part of the Networking and Network Related category; This is a multi-part message in MIME format. --===============1795231886== Content-class: urn:content-classes:message Content-Type: multipart/alternative; ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
This is a multi-part message in MIME format.
--===============1795231886== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C69001.001A1DD9" This is a multi-part message in MIME format. ------_=_NextPart_001_01C69001.001A1DD9 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Robert, =20 That is the answer I was looking for, and thank you for sharing the info with me. I'll modify this function in myMacTable_interface.c =20 =20 int myMacTable_index_from_oid(netsnmp_index * oid_idx, myMacTable_mib_index * mib_idx) { int err =3D SNMP_ERR_NOERROR; =20 /* * temp storage for parsing indexes */ /* * myMacAddr(1)/MacAddress/ASN_OCTET_STR/char(char)//L/a/w/e/R/d/H */ netsnmp_variable_list var_myMacAddr; =20 /* * set up varbinds */ memset(&var_myMacAddr, 0x00, sizeof(var_myMacAddr)); var_myMacAddr.type =3D ASN_PRIV_IMPLIED_OCTET_STR; =20 /* * chain temp index varbinds together */ var_myMacAddr.next_variable =3D NULL; =20 =20 DEBUGMSGTL(("verbose:myMacTable:myMacTable_index_f rom_oid", "called\n")); =20 /* * parse the oid into the individual index components */ err =3D parse_oid_indexes(oid_idx->oids, oid_idx->len, &var_myMacAddr); if (err =3D=3D SNMP_ERR_NOERROR) { /* * copy out values */ /* * NOTE: val_len is in bytes, myMacAddr_len might not be */ if (var_myMacAddr.val_len > sizeof(mib_idx->myMacAddr)) err =3D SNMP_ERR_GENERR; else { memcpy(mib_idx->myMacAddr, var_myMacAddr.val.string, var_myMacAddr.val_len); mib_idx->myMacAddr_len =3D var_myMacAddr.val_len / sizeof(mib_idx->myMacAddr[0]); } =20 =20 } =20 =20 Hao Phan Network Administration System Wireless Systems Business Unit M/A-COM Lowell, MA www.macom.com =20 P: 978-442-4049 F: 978-442-5353 =20 =20 -----Original Message----- From: Robert Story [mailto:rstory@freesnmp.com]=20 Sent: Wednesday, June 14, 2006 3:32 PM To: Wes Hardaker Cc: net-snmp-coders@lists.sourceforge.net; Phan, Hao T Subject: Re: NetSNMP 5.0.3.1 Questions =20 On Mon, 12 Jun 2006 09:36:58 -0700 Wes wrote: WH> Hao> My question is how can I get rid of the 6 (mac address len) so my WH> Hao> index is simply the mac address itself? WH>=20 WH> If the MIB definition for that object is *exactly* 6 octets in length, WH> then it's ok to get rid of it. However, if it's a variable length at WH> all you need to keep it there. =20 To answer the technical side, if it is defined as a fixed length string, then you need to change the type in the index registration (for MFD code, in *_interface.c). Change the type to ASN_PRIV_IMPLIED_OCTET_STR. =20 --=20 NOTE: messages sent directly to me, instead of the lists, will be deleted unless they are requests for paid consulting services. =20 Robert Story; NET-SNMP Junkie Support: <http://www.net-snmp.org/> <irc://irc.freenode.net/#net-snmp> Archive: <http://sourceforge.net/mailarchive/forum.php?forum=3Dnet-snmp-coders> =20 You are lost in a twisty maze of little standards, all different.=20 ------_=_NextPart_001_01C69001.001A1DD9 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3DContent-Type content=3D"text/html; = charset=3Dus-ascii"> <meta name=3DGenerator content=3D"Microsoft Word 10 (filtered)"> <style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {color:#606420; text-decoration:underline;} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText {margin:0in; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Courier New";} @page Section1 {size:8.5in 11.0in; margin:1.0in 77.95pt 1.0in 77.95pt;} div.Section1 {page:Section1;} --> </style> </head> <body lang=3DEN-US link=3Dblue vlink=3D"#606420"> <div class=3DSection1> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Hi Robert,</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>That is the answer I was looking for, and thank you for sharing = the info with me. I'll modify this function in = myMacTable_interface.c</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'>int</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'>myMacTable_index_from_oid(netsnmp_index * = oid_idx,</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = &n bsp; &= nbsp; myMacTable_mib_index * mib_idx)</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'>{</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> = int   ; &nbs= p; err =3D SNMP_ERR_NOERROR;</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> * temp storage for parsing = indexes</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> * = myMacAddr(1)/MacAddress/ASN_OCTET_STR/char(char)//L/a/w/e/R/d/H</span></f= ont></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> netsnmp_variable_list = var_myMacAddr;</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> * set up varbinds</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> memset(&var_myMacAddr, 0x00, = sizeof(var_myMacAddr));</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> var_myMacAddr.type =3D </span></font><b><font color=3Dred><span = style=3D'color:red;font-weight:bold'>ASN_PRIV_IMPLIED_OCTET_STR</span></f= ont></b><font size=3D1><span style=3D'font-size:9.0pt'>;</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> * chain temp index varbinds = together</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> var_myMacAddr.next_variable =3D = NULL;</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> = DEBUGMSGTL(("verbose:myMacTable:myMacTable_in dex_from_oid",</sp= an></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = "called\n"));</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> * parse the oid into the individual = index components</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> err =3D parse_oid_indexes(oid_idx->oids, = oid_idx->len,</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = &n bsp; &= nbsp; &var_myMacAddr);</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> if (err =3D=3D SNMP_ERR_NOERROR) = {</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; * copy out = values</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> /*</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; * NOTE: val_len = is in bytes, myMacAddr_len might not be</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = */</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> if = (var_myMacAddr.val_len > sizeof(mib_idx->myMacAddr))</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = err =3D SNMP_ERR_GENERR;</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> else = {</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = memcpy(mib_idx->myMacAddr, var_myMacAddr.val.string,</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = var_myMacAddr.val_len);</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = mib_idx->myMacAddr_len =3D</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = var_myMacAddr.val_len /</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> & nbsp; = sizeof(mib_idx->myMacAddr[0]);</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> }</span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D1 face=3D"Courier New"><span = style=3D'font-size: 9.0pt'> }</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Hao Phan</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Network Administration System</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Wireless Systems Business Unit</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>M/A-COM Lowell, MA</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>www.macom.com</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>P: 978-442-4049</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>F: 978-442-5353</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>-----Original Message-----<br> From: Robert Story [mailto:rstory@freesnmp.com] <br> Sent: Wednesday, June 14, 2006 3:32 PM<br> To: Wes Hardaker<br> Cc: net-snmp-coders@lists.sourceforge.net; Phan, Hao T<br> Subject: Re: NetSNMP 5.0.3.1 Questions</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>On Mon, 12 Jun 2006 09:36:58 -0700 Wes wrote:</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>WH> Hao> My question is how can I get rid of the 6 (mac = address len) so my</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>WH> Hao> index is simply the mac address = itself?</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>WH> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>WH> If the MIB definition for that object is *exactly* 6 = octets in length,</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>WH> then it's ok to get rid of it. However, if it's a = variable length at</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>WH> all you need to keep it there.</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>To answer the technical side, if it is defined as a fixed length string, then</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>you need to change the type in the index registration (for MFD = code, in</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>*_interface.c). Change the type to = ASN_PRIV_IMPLIED_OCTET_STR.</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>-- </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>NOTE: messages sent directly to me, instead of the lists, will = be deleted</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> unless they are requests for paid consulting services.</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Robert Story; NET-SNMP Junkie</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Support: <http://www.net-snmp.org/> <irc://irc.freenode.net/#net-snmp></span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>Archive: <http://sourceforge.net/mailarchive/f...-snmp-coders&= gt;</span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'> </span></font></p> <p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span = style=3D'font-size: 10.0pt'>You are lost in a twisty maze of little standards, all = different. </span></font></p> </div> </body> </html> ------_=_NextPart_001_01C69001.001A1DD9-- --===============1795231886== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============1795231886== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Net-snmp-coders mailing list Net-snmp-coders@lists.sourceforge.net https://lists.sourceforge.net/lists/...et-snmp-coders --===============1795231886==-- |