blob: 4d2c2653e0d5445323fe3e88ca9ac6d80f28b12b [file] [log] [blame]
pingping-lina2cbfad2013-03-07 08:39:21 +08001package net.floodlightcontroller.bgproute;
2
3import org.slf4j.Logger;
4import org.slf4j.LoggerFactory;
5
6public class PtreeNode {
7 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 Rib rib;
17 protected 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 }
44}