[dev] How to build FRR with snmp supported ?

Simon Jones batmanustc at gmail.com
Thu Aug 1 08:32:05 EDT 2019

Oh,maybe I did not introduce clearly, I'm working on sonic-frr(
https://github.com/Azure/sonic-frr), what I want to do is:
1. sonic-frr build FRR deb package into a docker image, but this image has
no SNMP support, so I have to add SNMP support, so I ask questions above.
2. How sonic-frr build is
    - use this script to build FRR deb package, is this script build SNMP
codes(/usr/lib/*/frr/modules/*_snmp.so)? I think it is.
SHELL = /bin/bash


$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
    # Build the package
    pushd ./frr
    tools/tarsource.sh -V -e '-sonic'
    dpkg-buildpackage -rfakeroot -b -us -uc -Ppkg.frr.nortrlib
    mv $(DERIVED_TARGET) $* $(DEST)/

$(addprefix $(DEST)/, $(DERIVED_TARGET)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)

    - use this script to build sonic-frr docker image, is this script
install SNMP codes into docker image? I think it's NOT, so I want to know
how to package SNMP codes into docker image, which is how to install SNMP
codes into deb package. Is it to add '-Ppkg.frr.snmp' ?
# FRRouting (frr) package


FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
$(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr

$(eval $(call add_derived_package,$(FRR),$(FRR_PYTHONTOOLS)))

FRR_DBG = frr-dbgsym_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
$(eval $(call add_derived_package,$(FRR),$(FRR_DBG)))


    - use docker command to install this image

Thanks ~

Simon Jones

David Lamparter <equinox at diac24.net> 于2019年8月1日周四 下午5:05写道:

> On Thu, Aug 01, 2019 at 03:56:40PM +0800, Simon Jones wrote:
> > 1. In this doc (http://docs.frrouting.org/en/latest/snmp.html), I think
> > SNMP related code in FRR is
> >     - snmp codes of each module, like zebra or bgpd, which is located in
> > .../modules/zebra_snmp.so. And these codes is load while zebra or bgpd
> > start up? These codes response for report snmp events in zebra or bgpd
> > modules by protocol to agentX?
> >     - AgentX, which is used to receive these snmp events and call snmp
> traps
> I'm having some trouble understanding your questions, but the modules
> are installed to /usr/lib/*/frr/modules/*_snmp.so and loaded at startup
> with the "-M snmp" option.
> > 2. So I want to start zebra with zebra_snmp.so. But I got errors which
> tell
> > me there is no zebra_snmp.so. So I check build process, then I have
> > questions in the email above.
> Then the frr-snmp package is not installed.  There is no problem with
> the build process.  Unless you modify the Debian package - or the
> package build didn't complete successfully - SNMP support is enabled for
> Debian packages.
> > 3. Is there some docs about how to build, package, install and use
> > frr-snmp? As this(http://docs.frrouting.org/en/latest/snmp.html) is not
> > very clear.
> >     - http://docs.frrouting.org/en/latest/snmp.html tell me SNMP support
> > compile is just use `--enable-snmp`. But as I said above, there is
> > zebra_snmp.so in compile log, but no zebra_snmp.so in packages I
> installed.
> >     - http://docs.frrouting.org/en/latest/snmp.html tell me SNMP support
> > could be started by `--module <module:snmp>`, but when I start, report
> > error log that 'there is no zebra_snmp.so in .../modules/'
> There is nothing to change to enable SNMP support in Debian packages.
> You just need to install the frr-snmp package and add the "-M snmp" /
> "--module snmp" (same option) to your config.
> > 4. So could someone tell me clear steps on:
> >     - How to installed *additionally* to the "frr" package.
> apt-get install frr-snmp
> or
> dpkg -i frr-snmp_*.deb
> >     - How to start SNMP support in system.
> You seem to have that in place already since you're getting the
> "zebra_snmp.so not found" error.
> -David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.frrouting.org/pipermail/dev/attachments/20190801/10b7724b/attachment.html>

More information about the dev mailing list