~ubuntu-branches/ubuntu/jaunty/xorp/jaunty

« back to all changes in this revision

Viewing changes to ospf/lsa.hh

  • Committer: Bazaar Package Importer
  • Author(s): Jose Calhariz, Javier Fernandez-Sanguino, Jose Calhariz
  • Date: 2008-01-23 01:24:37 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080123012437-7l2u9r0k8e7op8st
Tags: 1.5~cvs.20080128-1
[ Javier Fernandez-Sanguino ]
* Update to latest CVS contents
* Modify debian/rules to prevent autobuilders from building 
  the binary-independent components: (Closes: #441121)
  - Create a new Build-Depends-Indep with all the TeX
  components used to build documentation
  - Since autobuilders call build, which in turns calls build-indep, hack
    the debian rules file so that the documentation is only built if ps2pdf,
    dvips and pslatex are available. 
* Modify the init.d script:
  - restart action: Do not attempt to stop xorp if not running
  - stop function: fix errors in the script
  - add a try-restart action
  - restructure the init.d script, move the restart code to a function
  - review the use of echo calls and exit values
* Use, as examples, the new boot files at rtrmgr/config/

[ Jose Calhariz ]
* Add depends on ncurses-dev, I don't know why xorp use tigetstr
  function from curses.  This way the depends field change less between
  build environments.
* Removed pushd and popd commands from Makefile and replaced with cd
  commands, was a bashism and FTBFS (closes: #453637)
* debian/control converted to utf-8 (closes: #454026) (closes: #453485)
* init.d/xorp now returns 0 if disabled.
* Added Vcs-Browser and Vcs-Svn fields pointing to the repository of the
  package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
// -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*-
2
2
 
3
 
// Copyright (c) 2001-2007 International Computer Science Institute
 
3
// Copyright (c) 2001-2008 International Computer Science Institute
4
4
//
5
5
// Permission is hereby granted, free of charge, to any person obtaining a
6
6
// copy of this software and associated documentation files (the "Software")
12
12
// notice is a summary of the XORP LICENSE file; the license in that file is
13
13
// legally binding.
14
14
 
15
 
// $XORP: xorp/ospf/lsa.hh,v 1.105 2007/03/29 23:49:18 atanu Exp $
 
15
// $XORP: xorp/ospf/lsa.hh,v 1.110 2008/01/04 03:16:56 pavlin Exp $
16
16
 
17
17
#ifndef __OSPF_LSA_HH__
18
18
#define __OSPF_LSA_HH__
373
373
 
374
374
    Lsa_header& get_header() {return _header; }
375
375
 
 
376
    const Lsa_header& get_header() const {return _header; }
 
377
 
376
378
    /**
377
379
     * Is this LSA valid?
378
380
     */
1708
1710
        return _ipv6prefix;;
1709
1711
    }
1710
1712
 
 
1713
    template <typename A>
 
1714
    void set_network(IPNet<A>);
 
1715
 
 
1716
    template <typename A>
 
1717
    IPNet<A> get_network(A) const;
 
1718
 
1711
1719
    void set_e_bit(bool bit) {
1712
1720
        _e_bit = bit;
1713
1721
    }
1777
1785
    }
1778
1786
 
1779
1787
    template <typename A>
 
1788
    void set_forwarding_address(A);
 
1789
 
 
1790
    template <typename A>
1780
1791
    A get_forwarding_address(A) const;
1781
1792
 
1782
 
    template <typename A>
1783
 
    IPv4 get_forwarding_address(IPv4) const {
1784
 
        return get_forwarding_address_ipv4();
1785
 
    }
1786
 
        
1787
 
    template <typename A>
1788
 
    IPv6 get_forwarding_address(IPv6) const {
1789
 
        return get_forwarding_address_ipv6();
1790
 
    }
1791
 
 
1792
1793
    void set_external_route_tag(uint32_t external_route_tag) {
1793
1794
        switch(get_version()) {
1794
1795
        case OspfTypes::V2:
1848
1849
        return get_e_bit() ? "ASExt-2" : "ASExt-1";
1849
1850
    }
1850
1851
 
 
1852
    void set_suppressed_lsa(Lsa::LsaRef lsar) {
 
1853
        _suppressed_lsa = lsar;
 
1854
    }
 
1855
 
 
1856
    Lsa::LsaRef get_suppressed_lsa() const {
 
1857
        return _suppressed_lsa;
 
1858
    }
 
1859
 
 
1860
    void release_suppressed_lsa() {
 
1861
        _suppressed_lsa.release();
 
1862
    }
 
1863
 
1851
1864
    /**
1852
1865
     * Generate a printable representation.
1853
1866
     */
1869
1882
    IPv6 _forwarding_address_ipv6;      // OSPFv3 only.
1870
1883
    uint32_t _external_route_tag;
1871
1884
    uint32_t _referenced_link_state_id; // OSPFv3 only.
 
1885
 
 
1886
    Lsa::LsaRef _suppressed_lsa;        // If a self originated LSA is
 
1887
                                        // being suppressed here it is.
1872
1888
};
1873
1889
 
1874
1890
/**