sppp(4) is currently using RTP_PROPOSAL_STATIC for sending DNS
proposals, whereas all others sources, e.g. umb(4), are using a specific
value. Diff below fixes this by adding RTP_PROPOSAL_PPP.

Although the diff is limited in size it touches several pieces:
- sppp(4)
- route(4)
- route(8)
- unwindctl(8)

Thanks to semarie@ for noting the above. Thanks to claudio@ for
suggesting RTP_PROPOSAL_PPP.

Comments/OK?


diff --git sbin/route/route.c sbin/route/route.c
index 952d9446943..f92d1419125 100644
--- sbin/route/route.c
+++ sbin/route/route.c
@@ -1513,6 +1513,9 @@ print_rtmsg(struct rt_msghdr *rtm, int msglen)
                case RTP_PROPOSAL_UMB:
                        printf("umb");
                        break;
+               case RTP_PROPOSAL_PPP:
+                       printf("ppp");
+                       break;
                case RTP_PROPOSAL_SOLICIT:
                        printf("solicit");
                        break;
diff --git share/man/man4/route.4 share/man/man4/route.4
index 5085487a1fb..a09b6e87e12 100644
--- share/man/man4/route.4
+++ share/man/man4/route.4
@@ -282,7 +282,8 @@ The predefined constants for the routing priorities are:
 #define RTP_PROPOSAL_DHCLIENT  58
 #define RTP_PROPOSAL_SLAAC     59
 #define RTP_PROPOSAL_UMB       60
-#define RTP_PROPOSAL_SOLICIT   61      /* request reply of all RTM_PROPOSAL */
+#define RTP_PROPOSAL_PPP       61
+#define RTP_PROPOSAL_SOLICIT   62      /* request reply of all RTM_PROPOSAL */
 #define RTP_MAX                63      /* maximum priority */
 #define RTP_ANY                64      /* any of the above */
 #define RTP_MASK       0x7f
diff --git sys/net/if_spppsubr.c sys/net/if_spppsubr.c
index 6cff6a3585e..882c97d5ce1 100644
--- sys/net/if_spppsubr.c
+++ sys/net/if_spppsubr.c
@@ -4931,7 +4931,7 @@ sppp_update_dns(struct ifnet *ifp)
        rtdns.sr_len = 2 + i * sz;
        info.rti_info[RTAX_DNS] = srtdnstosa(&rtdns);
 
-       rtm_proposal(ifp, &info, flag, RTP_PROPOSAL_STATIC);
+       rtm_proposal(ifp, &info, flag, RTP_PROPOSAL_PPP);
 }
 
 void
diff --git sys/net/route.h sys/net/route.h
index 914581aa6bb..acc07f06f7d 100644
--- sys/net/route.h
+++ sys/net/route.h
@@ -171,7 +171,8 @@ struct rtentry {
 #define RTP_PROPOSAL_DHCLIENT  58
 #define RTP_PROPOSAL_SLAAC     59
 #define RTP_PROPOSAL_UMB       60
-#define RTP_PROPOSAL_SOLICIT   61      /* request reply of all RTM_PROPOSAL */
+#define RTP_PROPOSAL_PPP       61
+#define RTP_PROPOSAL_SOLICIT   62      /* request reply of all RTM_PROPOSAL */
 #define RTP_MAX                63      /* maximum priority */
 #define RTP_ANY                64      /* any of the above */
 #define RTP_MASK       0x7f
diff --git usr.sbin/unwindctl/unwindctl.c usr.sbin/unwindctl/unwindctl.c
index 9380abb937e..10db694e414 100644
--- usr.sbin/unwindctl/unwindctl.c
+++ usr.sbin/unwindctl/unwindctl.c
@@ -67,6 +67,8 @@ prio2str(int prio)
                return "STATIC";
        case RTP_PROPOSAL_UMB:
                return "UMB";
+       case RTP_PROPOSAL_PPP:
+               return "PPP";
        }
        return "OTHER";
 }

Reply via email to