[][src]Function snmp_parser::snmp::parse_snmp_v1

pub fn parse_snmp_v1(i: &[u8]) -> IResult<&[u8], SnmpMessage<'_>, SnmpError>

Parse a SNMP v1 message.

Top-level message

Message ::=
        SEQUENCE {
            version          -- version-1 for this RFC
                INTEGER {
                    version-1(0)
                },

            community        -- community name
                OCTET STRING,

            data             -- e.g., PDUs if trivial
                ANY          -- authentication is being used
        }

Example:

use snmp_parser::parse_snmp_v1;

static SNMPV1_REQ: &[u8] = include_bytes!("../assets/snmpv1_req.bin");

match parse_snmp_v1(&SNMPV1_REQ) {
  Ok((_, ref r)) => {
    assert!(r.version == 0);
    assert!(r.community == String::from("public"));
    assert!(r.vars_iter().count() == 1);
  },
  Err(e) => panic!(e),
}