blob: e1b4c55dcd798cfe9ad652cee6e906369fbcbd6c [file] [log] [blame]
Jonathan Hart382623d2014-04-03 09:48:11 -07001package net.onrc.onos.apps.bgproute;
pingping-lina2cbfad2013-03-07 08:39:21 +08002
3import org.slf4j.Logger;
4import org.slf4j.LoggerFactory;
5
6public class PtreeNode {
Ray Milkey269ffb92014-04-03 14:43:30 -07007 public PtreeNode parent;
8 public PtreeNode left;
9 public PtreeNode right;
10
11 public byte key[];
12 public int keyBits;
13
14 public int refCount;
15
16 public RibEntry rib;
17 protected final static Logger log = LoggerFactory.getLogger(BgpRoute.class);
18
19 PtreeNode(byte[] key, int key_bits, int max_key_octet) {
20 parent = null;
21 left = null;
22 right = null;
23 refCount = 0;
24 rib = null;
25 this.key = new byte[max_key_octet];
26 this.keyBits = key_bits;
27 log.debug("inside Ptreenode constructor key {} bits {}", key, key_bits);
28
29 int octet = Ptree.bit_to_octet(key_bits);
30 for (int i = 0; i < max_key_octet; i++) {
31 if (i < octet) {
32 if (key != null) {
33 log.debug(octet + ": filling key[{}] {}", i, key[i]);
34 this.key[i] = key[i];
35 } else {
36 log.debug("no filling, null key", i);
37 }
38 } else {
39 log.debug("filling key {} as 0", i);
40 this.key[i] = 0;
41 }
42 }
43 }
pingping-lina2cbfad2013-03-07 08:39:21 +080044}