On Tue, Aug 13, 2019 at 01:31:16PM +0100, Stuart Henderson wrote:
> On 2019/08/13 13:29, Stuart Henderson wrote:
> > On 2019/08/13 13:50, Claudio Jeker wrote:
> > > In that case you want to use ifi_iqdrops in struct if_data.
> > > So maybe something like the appended diff could work.
> > 
> > OK sthen@ for this one.
> > 
> > > Then there is also case 21 that gets net.inet.ip.ifq.len which needs to be
> > > changed too.
> > 
> > I don't we have a good value to use here, besides that is deprecated in 
> > IF-MIB
> > anyway.
> > 
> > ifOutQLen OBJECT-TYPE
> >     SYNTAX      Gauge32
> >     MAX-ACCESS  read-only
> >     STATUS      deprecated
> >     DESCRIPTION
> >             "The length of the output packet queue (in packets)."
> >     ::= { ifEntry 21 }
> > 
> > I think this would be reasonable ..
> 
> Actually mib/len are no longer needed, so:
> 
> --- mib.c-    Tue Aug 13 13:28:03 2019
> +++ mib.c     Tue Aug 13 13:30:47 2019
> @@ -1106,9 +1106,6 @@ mib_iftable(struct oid *oid, struct ber_oid *o, struct
>       u_int32_t                idx = 0;
>       struct kif              *kif;
>       long long                i;
> -     size_t                   len;
> -     int                      ifq;
> -     int                      mib[] = { CTL_NET, PF_INET, IPPROTO_IP, 0, 0 };
>  
>       /* Get and verify the current row index */
>       idx = o->bo_id[OIDIDX_ifEntry];
> @@ -1227,15 +1224,7 @@ mib_iftable(struct oid *oid, struct ber_oid *o, struct
>               ber_set_header(ber, BER_CLASS_APPLICATION, SNMP_T_COUNTER32);
>               break;
>       case 21:
> -             mib[3] = IPCTL_IFQUEUE;
> -             mib[4] = IFQCTL_LEN;
> -             len = sizeof(ifq);
> -             if (sysctl(mib, sizeofa(mib), &ifq, &len, 0, 0) == -1) {
> -                     log_info("mib_iftable: %s: invalid ifq: %s",
> -                         kif->if_name, strerror(errno));
> -                     return (-1);
> -             }
> -             ber = ber_add_integer(ber, ifq);
> +             ber = ber_add_integer(ber, 0);
>               ber_set_header(ber, BER_CLASS_APPLICATION, SNMP_T_GAUGE32);
>               break;
>       case 22:
> 

OK claudio@

-- 
:wq Claudio

Reply via email to