diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-09 09:41:29 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-10 09:53:33 +0100 |
commit | 46f0b8bd51857affb52a70a48f01569247e5cf4b (patch) | |
tree | a2df0132a9bd2f8841b4f729d9fed40d39157b6d | |
parent | NETSTAT(1): Fix name list initialization (diff) | |
download | rtems-libbsd-46f0b8bd51857affb52a70a48f01569247e5cf4b.tar.bz2 |
Enable multi-cast routing support
-rw-r--r-- | freebsd/usr.bin/netstat/mroute.c | 2 | ||||
-rw-r--r-- | rtemsbsd/include/machine/rtems-bsd-config.h | 14 | ||||
-rw-r--r-- | rtemsbsd/include/machine/rtems-bsd-sysinit.h | 6 | ||||
-rw-r--r-- | testsuite/include/rtems/bsd/test/default-network-init.h | 2 |
4 files changed, 24 insertions, 0 deletions
diff --git a/freebsd/usr.bin/netstat/mroute.c b/freebsd/usr.bin/netstat/mroute.c index 4d9d5b1d..729b63e6 100644 --- a/freebsd/usr.bin/netstat/mroute.c +++ b/freebsd/usr.bin/netstat/mroute.c @@ -420,10 +420,12 @@ mrt_stats() mstaddr = nl[N_MRTSTAT].n_value; +#ifndef __rtems__ if (mstaddr == 0) { fprintf(stderr, "No IPv4 MROUTING kernel support.\n"); return; } +#endif /* __rtems__ */ if (fetch_stats("net.inet.ip.mrtstat", mstaddr, &mrtstat, sizeof(mrtstat), kread_counters) != 0) diff --git a/rtemsbsd/include/machine/rtems-bsd-config.h b/rtemsbsd/include/machine/rtems-bsd-config.h index 02977318..ccc65d70 100644 --- a/rtemsbsd/include/machine/rtems-bsd-config.h +++ b/rtemsbsd/include/machine/rtems-bsd-config.h @@ -98,6 +98,18 @@ extern "C" { #define RTEMS_BSD_CFGDECL_NET_PF_UNIX #endif /* RTEMS_BSD_CONFIG_NET_PF_UNIX */ +#if defined(RTEMS_BSD_CONFIG_NET_IP_MROUTE) + #define RTEMS_BSD_CFGDECL_NET_IP_MROUTE SYSINIT_NEED_NET_IP_MROUTE +#else + #define RTEMS_BSD_CFGDECL_NET_IP_MROUTE +#endif /* RTEMS_BSD_CONFIG_NET_IP_MROUTE */ + +#if defined(RTEMS_BSD_CONFIG_NET_IP6_MROUTE) + #define RTEMS_BSD_CFGDECL_NET_IP6_MROUTE SYSINIT_NEED_NET_IP6_MROUTE +#else + #define RTEMS_BSD_CFGDECL_NET_IP6_MROUTE +#endif /* RTEMS_BSD_CONFIG_NET_IP6_MROUTE */ + /* * Bridging. * https://www.freebsd.org/doc/handbook/network-bridging.html @@ -198,6 +210,8 @@ extern "C" { * Create the networking modules and interfaces. */ RTEMS_BSD_CFGDECL_NET_PF_UNIX; + RTEMS_BSD_CFGDECL_NET_IP_MROUTE; + RTEMS_BSD_CFGDECL_NET_IP6_MROUTE; RTEMS_BSD_CFGDECL_NET_IF_BRIDGE; RTEMS_BSD_CFGDECL_NET_IF_LAGG; RTEMS_BSD_CFGDECL_NET_IF_VLAN; diff --git a/rtemsbsd/include/machine/rtems-bsd-sysinit.h b/rtemsbsd/include/machine/rtems-bsd-sysinit.h index 3817ad25..6f18cc2e 100644 --- a/rtemsbsd/include/machine/rtems-bsd-sysinit.h +++ b/rtemsbsd/include/machine/rtems-bsd-sysinit.h @@ -84,6 +84,12 @@ #define SYSINIT_NEED_NET_PF_UNIX \ SYSINIT_DOMAIN_REFERENCE(local) +#define SYSINIT_NEED_NET_IP_MROUTE \ + SYSINIT_MODULE_REFERENCE(ip_mroute) + +#define SYSINIT_NEED_NET_IP6_MROUTE \ + SYSINIT_MODULE_REFERENCE(ip6_mroute) + #define SYSINIT_NEED_NET_IF_BFE \ SYSINIT_DRIVER_REFERENCE(bfe, pci) diff --git a/testsuite/include/rtems/bsd/test/default-network-init.h b/testsuite/include/rtems/bsd/test/default-network-init.h index de73771d..73d247e0 100644 --- a/testsuite/include/rtems/bsd/test/default-network-init.h +++ b/testsuite/include/rtems/bsd/test/default-network-init.h @@ -306,6 +306,8 @@ Init(rtems_task_argument arg) #endif #define RTEMS_BSD_CONFIG_NET_PF_UNIX +#define RTEMS_BSD_CONFIG_NET_IP_MROUTE +#define RTEMS_BSD_CONFIG_NET_IP6_MROUTE #define RTEMS_BSD_CONFIG_NET_IF_LAGG #define RTEMS_BSD_CONFIG_NET_IF_VLAN #define RTEMS_BSD_CONFIG_BSP_CONFIG |