]>
git.proxmox.com Git - mirror_frr.git/blob - ospf6d/ospf6_proto.c
2 * Copyright (C) 2003 Yasuhiro Ohara
4 * This file is part of GNU Zebra.
6 * GNU Zebra is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2, or (at your option) any
11 * GNU Zebra is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; see the file COPYING; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 #include "ospf6_proto.h"
28 ospf6_prefix_apply_mask (struct ospf6_prefix
*op
)
33 pnt
= (u_char
*)((caddr_t
) op
+ sizeof (struct ospf6_prefix
));
34 index
= op
->prefix_length
/ 8;
35 offset
= op
->prefix_length
% 8;
36 mask
= 0xff << (8 - offset
);
40 zlog_warn ("Prefix length too long: %d", op
->prefix_length
);
44 /* nonzero mask means no check for this byte because if it contains
45 * prefix bits it must be there for us to write */
49 while (index
< OSPF6_PREFIX_SPACE (op
->prefix_length
))
54 ospf6_prefix_options_printbuf (u_int8_t prefix_options
, char *buf
, int size
)
56 snprintf (buf
, size
, "xxx");
60 ospf6_capability_printbuf (char capability
, char *buf
, int size
)
63 w
= (capability
& OSPF6_ROUTER_BIT_W
? 'W' : '-');
64 v
= (capability
& OSPF6_ROUTER_BIT_V
? 'V' : '-');
65 e
= (capability
& OSPF6_ROUTER_BIT_E
? 'E' : '-');
66 b
= (capability
& OSPF6_ROUTER_BIT_B
? 'B' : '-');
67 snprintf (buf
, size
, "----%c%c%c%c", w
, v
, e
, b
);
71 ospf6_options_printbuf (u_char
*options
, char *buf
, int size
)
73 const char *dc
, *r
, *n
, *mc
, *e
, *v6
;
74 dc
= (OSPF6_OPT_ISSET (options
, OSPF6_OPT_DC
) ? "DC" : "--");
75 r
= (OSPF6_OPT_ISSET (options
, OSPF6_OPT_R
) ? "R" : "-" );
76 n
= (OSPF6_OPT_ISSET (options
, OSPF6_OPT_N
) ? "N" : "-" );
77 mc
= (OSPF6_OPT_ISSET (options
, OSPF6_OPT_MC
) ? "MC" : "--");
78 e
= (OSPF6_OPT_ISSET (options
, OSPF6_OPT_E
) ? "E" : "-" );
79 v6
= (OSPF6_OPT_ISSET (options
, OSPF6_OPT_V6
) ? "V6" : "--");
80 snprintf (buf
, size
, "%s|%s|%s|%s|%s|%s", dc
, r
, n
, mc
, e
, v6
);