Hello,

As you may have noticed multiple people asked to add SO_BINDTODEVICE support
to Net-SNMP. This patch series adds such support by allowing to specify the
name of the network interface to bind a Net-SNMP endpoint to as
"@<interface name>". An example:

agent/snmpd -Mmibs -f -Lo -c .../snmpd.conf udp6:localhost@lo:1161 -r
apps/snmpwalk -Mmibs -v2c -cpublic udp6:localhost:1161 .1

The reason I'm posting this patch series on the Net-SNMP mailing list is to
gather feedback about this patch series. Does everyone agree with the code
changes in this patch series? If so, on which branch(es) should these patches
be applied? Master only or v5.8 and master?

See also:
* Add SO_BINDTODEVICE support
  (https://sourceforge.net/p/net-snmp/patches/1296/).
* Add Linux VRF support (https://sourceforge.net/p/net-snmp/patches/1376/).

Thanks,

Bart.

Bart Van Assche (6):
  libsnmp/transports: Introduce netsnmp_parse_ep_str()
  libsnmp/transports: Introduce netsnmp_sockaddr_in3() and
    netsnmp_sockaddr_in6_3()
  libsnmp/transports: Change multiple sockaddr_in* arguments into
    netsnmp_ep
  configure: Add a test for SO_BINDTODEVICE
  libsnmp/transports: Add support for interface binding
  testing/fulltests/unit-tests: Add netsnmp_parse_ep_str() unit test

 configure                                     |  34 +++
 configure.d/config_os_misc4                   |  15 ++
 include/net-snmp/library/snmpDTLSUDPDomain.h  |   4 +-
 include/net-snmp/library/snmpIPBaseDomain.h   |  36 +++
 include/net-snmp/library/snmpIPv4BaseDomain.h |   7 +
 include/net-snmp/library/snmpIPv6BaseDomain.h |   5 +
 include/net-snmp/library/snmpTCPDomain.h      |   4 +-
 include/net-snmp/library/snmpTCPIPv6Domain.h  |   4 +-
 include/net-snmp/library/snmpUDPDomain.h      |   8 +-
 .../net-snmp/library/snmpUDPIPv4BaseDomain.h  |  12 +-
 include/net-snmp/library/snmpUDPIPv6Domain.h  |  11 +-
 .../net-snmp/library/snmpUDPsharedDomain.h    |   6 +-
 include/net-snmp/net-snmp-config.h.in         |   3 +
 snmplib/transports/snmpDTLSUDPDomain.c        |  36 +--
 snmplib/transports/snmpIPBaseDomain.c         | 114 +++++++++
 snmplib/transports/snmpIPv4BaseDomain.c       | 118 +++------
 snmplib/transports/snmpIPv6BaseDomain.c       | 238 ++++--------------
 snmplib/transports/snmpTCPDomain.c            |  24 +-
 snmplib/transports/snmpTCPIPv6Domain.c        |  23 +-
 snmplib/transports/snmpUDPDomain.c            |  22 +-
 snmplib/transports/snmpUDPIPv4BaseDomain.c    |  58 +++--
 snmplib/transports/snmpUDPIPv6Domain.c        |  70 +++---
 snmplib/transports/snmpUDPsharedDomain.c      |  90 ++++---
 testing/fulltests/support/clib_build          |   1 +
 .../T022netsnmp_parse_ep_str_clib.c           |  55 ++++
 win32/libsnmp/Makefile.in                     |   1 +
 win32/libsnmp_dll/Makefile.in                 |   1 +
 27 files changed, 561 insertions(+), 439 deletions(-)
 create mode 100644 include/net-snmp/library/snmpIPBaseDomain.h
 create mode 100644 snmplib/transports/snmpIPBaseDomain.c
 create mode 100644 testing/fulltests/unit-tests/T022netsnmp_parse_ep_str_clib.c

-- 
2.19.1



_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to