The heart of our ongoing network stack work to take the IP forwarding
path out of the kernel lock relies on an MP-safe routing table.  Our
plan is to use a lock-free lookup based on ART and SRPs.

But before turning ART MP-safe I'd like to squash the remaining bugs.
The only way to be sure to find them is to enable ART by default.

ART currently does not support ARP proxy.  That's the first item to fix
on my list but I don't think this should prevent us from switching right
now.

So diff below turns the ART define "on" and adapt the regression tests.

I'd be happy to hear from people using non-trivial routing setups.

If you encounter a network/routing table related  regression please
make sure to include as much information as possible, including the
dmesg and the outputs of "$ route -n show" with the new and old kernels.

ok?

Index: sys/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/conf/GENERIC,v
retrieving revision 1.225
diff -u -p -r1.225 GENERIC
--- sys/conf/GENERIC    25 Feb 2016 20:27:16 -0000      1.225
+++ sys/conf/GENERIC    16 Mar 2016 15:07:41 -0000
@@ -50,6 +50,7 @@ option                TCP_ECN         # Explicit Congestion N
 option         TCP_SIGNATURE   # TCP MD5 Signatures, for BGP routing sessions
 #option                TCP_FACK        # Forward Acknowledgements for TCP
 
+option         ART             # Allotment Routing Table
 option         INET6           # IPv6
 option         IPSEC           # IPsec
 #option                KEY             # PF_KEY (implied by IPSEC)
Index: regress/sbin/route/rttest1.ok
===================================================================
RCS file: /cvs/src/regress/sbin/route/rttest1.ok,v
retrieving revision 1.5
diff -u -p -r1.5 rttest1.ok
--- regress/sbin/route/rttest1.ok       9 Nov 2015 10:49:36 -0000       1.5
+++ regress/sbin/route/rttest1.ok       16 Mar 2016 16:44:08 -0000
@@ -2,11 +2,11 @@ Routing tables
 
 Internet:
 Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
-10.0/16            192.0.2.4          UGS        0        0 32768     8 lo10004
-10.0/10            192.0.2.4          UGS        0        0 32768     8 lo10004
 10/8               192.0.2.1          UGS        0        0 32768     8 lo10001
-10.8.0/24          192.0.2.1          UGS        0        0 32768     8 lo10001
+10.0/10            192.0.2.4          UGS        0        0 32768     8 lo10004
+10.0/16            192.0.2.4          UGS        0        0 32768     8 lo10004
 10.8/16            192.0.2.3          UGS        0        0 32768     8 lo10003
+10.8.0/24          192.0.2.1          UGS        0        0 32768     8 lo10001
 10.8.1/24          192.0.2.2          UGS        0        0 32768     8 lo10002
 10.8.3/24          192.0.2.3          UGS        0        0 32768     8 lo10003
 10.8.4/24          192.0.2.4          UGS        0        0 32768     8 lo10004
Index: regress/sbin/route/rttest19.ok
===================================================================
RCS file: /cvs/src/regress/sbin/route/rttest19.ok,v
retrieving revision 1.4
diff -u -p -r1.4 rttest19.ok
--- regress/sbin/route/rttest19.ok      9 Nov 2015 10:49:36 -0000       1.4
+++ regress/sbin/route/rttest19.ok      16 Mar 2016 16:43:33 -0000
@@ -2,9 +2,9 @@ Routing tables
 
 Internet:
 Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
-10.8.1.0/26        192.0.2.2          UGS        0        0 32768     8 lo10002
-10.8.1.0/25        192.0.2.4          UGS        0        0 32768     8 lo10004
 10.8.1/24          192.0.2.1          UGS        0        0 32768     8 lo10001
+10.8.1.0/25        192.0.2.4          UGS        0        0 32768     8 lo10004
+10.8.1.0/26        192.0.2.2          UGS        0        0 32768     8 lo10002
 192.0.2.1          192.0.2.1          UHl        0        0 32768     1 lo10001
 192.0.2.2          192.0.2.2          UHl        0        0 32768     1 lo10002
 192.0.2.3          192.0.2.3          UHl        0        0 32768     1 lo10003

Reply via email to