Hi,

this brings support for interface "type p2p" to ospf6d (ospfd got it a few
weeks ago).

The configuration looks like this:

area 0.0.0.0 {
        interface em0 {
                type p2p
        }
}

OK?

Remi


Index: ospf6d.conf.5
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/ospf6d.conf.5,v
retrieving revision 1.19
diff -u -p -r1.19 ospf6d.conf.5
--- ospf6d.conf.5       26 May 2019 09:27:09 -0000      1.19
+++ ospf6d.conf.5       5 Oct 2019 14:17:29 -0000
@@ -328,6 +328,9 @@ Router.
 .It Ic transmit-delay Ar seconds
 Set the transmit delay.
 The default value is 1; valid range is 1\-3600 seconds.
+.It Ic type p2p
+Set the interface type to point to point.
+This disables the election of a DR and BDR for the given interface.
 .El
 .Sh FILES
 .Bl -tag -width "/etc/ospf6d.conf" -compact
Index: ospf6d.h
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/ospf6d.h,v
retrieving revision 1.42
diff -u -p -r1.42 ospf6d.h
--- ospf6d.h    23 Dec 2019 07:33:49 -0000      1.42
+++ ospf6d.h    23 Dec 2019 09:08:23 -0000
@@ -329,6 +329,7 @@ struct iface {
        u_int8_t                 if_type;
        u_int8_t                 linkstate;
        u_int8_t                 priority;
+       u_int8_t                 p2p;
        u_int8_t                 cflags;
 #define F_IFACE_PASSIVE                0x01
 #define F_IFACE_CONFIGURED     0x02
Index: parse.y
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/parse.y,v
retrieving revision 1.47
diff -u -p -r1.47 parse.y
--- parse.y     23 Dec 2019 07:33:49 -0000      1.47
+++ parse.y     23 Dec 2019 10:40:28 -0000
@@ -126,7 +126,7 @@ typedef struct {
 
 %token AREA INTERFACE ROUTERID FIBPRIORITY FIBUPDATE REDISTRIBUTE RTLABEL
 %token RDOMAIN STUB ROUTER SPFDELAY SPFHOLDTIME EXTTAG
-%token METRIC PASSIVE
+%token METRIC P2P PASSIVE
 %token HELLOINTERVAL TRANSMITDELAY
 %token RETRANSMITINTERVAL ROUTERDEADTIME ROUTERPRIORITY
 %token SET TYPE
@@ -566,6 +566,10 @@ interfaceopts_l    : interfaceopts_l interf
                ;
 
 interfaceoptsl : PASSIVE               { iface->cflags |= F_IFACE_PASSIVE; }
+               | TYPE P2P              {
+                       iface->p2p = 1;
+                       iface->type = IF_TYPE_POINTOPOINT;
+               }
                | DEMOTE STRING         {
                        if (strlcpy(iface->demote_group, $2,
                            sizeof(iface->demote_group)) >=
@@ -645,6 +649,7 @@ lookup(char *s)
                {"metric",              METRIC},
                {"no",                  NO},
                {"on",                  ON},
+               {"p2p",                 P2P},
                {"passive",             PASSIVE},
                {"rdomain",             RDOMAIN},
                {"redistribute",        REDISTRIBUTE},
Index: printconf.c
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/printconf.c,v
retrieving revision 1.8
diff -u -p -r1.8 printconf.c
--- printconf.c 29 Dec 2018 16:04:31 -0000      1.8
+++ printconf.c 5 Oct 2019 14:14:19 -0000
@@ -135,6 +135,9 @@ print_iface(struct iface *iface)
        printf("\t\trouter-priority %d\n", iface->priority);
        printf("\t\ttransmit-delay %d\n", iface->transmit_delay);
 
+       if (iface->p2p)
+               printf("\t\ttype p2p\n");
+
        printf("\t}\n");
 }
 

Reply via email to