netd: Route MTU

- Route may include optional MTU parameter
- Change route is added so routes don't need to be deleted then re-added
- Add/Del/Change functions to pass route info as parcel

Bug: 142892223
Test: new unit tests
Change-Id: Idc32ecb0520b1f4136b3fe0e3f7b6800fb3005a6
diff --git a/server/NetlinkCommands.h b/server/NetlinkCommands.h
index c07194d..11fb8e0 100644
--- a/server/NetlinkCommands.h
+++ b/server/NetlinkCommands.h
@@ -28,6 +28,7 @@
 
 const uint16_t NETLINK_REQUEST_FLAGS = NLM_F_REQUEST | NLM_F_ACK;
 const uint16_t NETLINK_ROUTE_CREATE_FLAGS = NETLINK_REQUEST_FLAGS | NLM_F_CREATE | NLM_F_EXCL;
+const uint16_t NETLINK_ROUTE_REPLACE_FLAGS = NETLINK_REQUEST_FLAGS | NLM_F_REPLACE;
 // Don't create rules with NLM_F_EXCL, because operations such as changing network permissions rely
 // on make-before-break. The kernel did not complain about duplicate rules until ~4.9, at which
 // point it started returning EEXIST. See for example b/69607866 . We can't just ignore the EEXIST