diff options
Diffstat (limited to 'src/data.lisp')
-rw-r--r-- | src/data.lisp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/data.lisp b/src/data.lisp index 43fea10..b612851 100644 --- a/src/data.lisp +++ b/src/data.lisp @@ -93,7 +93,7 @@ TOP-ELEM is an XML document element." ;; AS-PATH --> template. Note that we want AS_PATH->AS ;; only, to avoid getting COMMUNITY->AS. (setf (path templ) - (let* ((as-paths (dom:get-elements-by-tag-name update + (let ((as-paths (dom:get-elements-by-tag-name update "AS_PATH"))) (if (= 0 (length as-paths)) "{}" @@ -108,6 +108,14 @@ TOP-ELEM is an XML document element." (subseq str 0 (- (length str) 1)) "}"))))) + ;; NEXT_HOP --> template. + (setf (nexthop templ) + (let ((nexthops (dom:get-elements-by-tag-name + update "NEXT_HOP"))) + (if (= 0 (length nexthops)) + "0.0.0.0" + (dom:data (aref (dom:child-nodes (aref nexthops 0)) 0))))) + ;; OCTETS --> template. (when (> (length octet-msgs) 0) (let* ((oct (aref (dom:get-elements-by-tag-name |