File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / doc / draft-zebra-00.txt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:26:11 2012 UTC (12 years, 4 months ago) by misho
Branches: quagga, MAIN
CVS tags: v1_0_20160315, v0_99_22p0, v0_99_22, v0_99_21, v0_99_20_1, v0_99_20, HEAD
quagga

    1: 
    2: 
    3: 
    4: 
    5: 
    6: 
    7: Network Working Group                                        K. Ishiguro
    8: Request for Comments: DRAFT                     Digital Magic Labs, Inc.
    9:                                                               March 1998
   10: 
   11: 
   12:                           Zebra Protocol Draft
   13: 
   14: 
   15: Status of this Memo
   16: 
   17:    This draft is very eary beta version.
   18: 
   19: Introduction
   20: 
   21:    The zebra protocol is a communication protocol between kernel routing
   22:    table manager and routing protocol daemon. It is built over TCP/IP
   23:    protocol suite.
   24: 
   25: Request message formats
   26: 
   27:    zebra is TCP-based protocol.
   28: 
   29:    Below is request packet format.
   30: 
   31: 
   32:      0                   1                   2                   3
   33:      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   34:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   35:      |           Length (2)          |   Command (1) |
   36:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   37: 
   38: 
   39:    Length is total packet length.
   40: 
   41:    Here is summary of command list.
   42: 
   43: 
   44:      1 - ZEBRA_IPV4_ROUTE_ADD
   45:      2 - ZEBRA_IPV4_ROUTE_DELETE
   46:      3 - ZEBRA_IPV6_ROUTE_ADD
   47:      4 - ZEBRA_IPV6_ROUTE_DELETE
   48:      5 - ZEBRA_GET_ONE_INTERFACE
   49:      6 - ZEBRA_GET_ALL_INTERFACE
   50:      7 - ZEBRA_GET_HOSTINFO
   51: 
   52: 
   53: 
   54: 
   55: 
   56: 
   57: 
   58: Ishiguro                                                FORMFEED[Page 1]
   59: 
   60: 
   61: 
   62: 
   63: 
   64: RFC DRAFT                                                     March 1998
   65: 
   66: 
   67: IPv4 reply message formats
   68: 
   69: 
   70:      0                   1                   2                   3
   71:      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   72:      +-+-+-+-+-+-+-+-+
   73:      |    Type (1)   |
   74:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   75:      |                            Gateway (4)                        |
   76:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   77: 
   78: 
   79:    Type field specify route's origin type.
   80: 
   81: 
   82:      1 - ZEBRA_ROUTE_RESERVE
   83:      2 - ZEBRA_ROUTE_CONNECT
   84:      3 - ZEBRA_ROUTE_STATIC
   85:      4 - ZEBRA_ROUTE_RIP
   86:      5 - ZEBRA_ROUTE_RIPNG
   87:      6 - ZEBRA_ROUTE_BGP
   88:      7 - ZEBRA_ROUTE_RADIX
   89: 
   90: 
   91:    After above message there can be variale length IPv4 prefix data.
   92:    Each IPv4 prefix is encoded as a two tuple of the form <masklength,
   93:    prefix>
   94: 
   95: 
   96:      +----------------------+
   97:      |Subnet mask (1 octet) |
   98:      +----------------------+
   99:      |IPv4 prefix (variable)|
  100:      +----------------------+
  101: 
  102: 
  103: IPv6 reply message formats
  104: 
  105: 
  106: 
  107: 
  108: 
  109: 
  110: 
  111: 
  112: 
  113: 
  114: 
  115: 
  116: 
  117: 
  118: Ishiguro                                                FORMFEED[Page 2]
  119: 
  120: 
  121: 
  122: 
  123: 
  124: RFC DRAFT                                                     March 1998
  125: 
  126: 
  127:      0                   1                   2                   3
  128:      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  129:      +-+-+-+-+-+-+-+-+
  130:      |    Type (1)   |
  131:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  132:      |                                                               |
  133:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  134:      |                           Gateway (16)                        |
  135:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  136:      |                                                               |
  137:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  138:      |                                                               |
  139:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  140: 
  141: 
  142:    Type field specify route's origin type.
  143: 
  144: 
  145:      1 - ZEBRA_ROUTE_RESERVE
  146:      2 - ZEBRA_ROUTE_CONNECT
  147:      3 - ZEBRA_ROUTE_STATIC
  148:      4 - ZEBRA_ROUTE_RIP
  149:      5 - ZEBRA_ROUTE_RIPNG
  150:      6 - ZEBRA_ROUTE_BGP
  151:      7 - ZEBRA_ROUTE_RADIX
  152: 
  153: 
  154: 
  155:      +----------------------+
  156:      |  ifindex   (4 octet) |
  157:      +----------------------+
  158:      |  prefixlen  (1 octet)|
  159:      +----------------------+
  160:      |IPv6 prefix (variable)|
  161:      +----------------------+
  162: 
  163: 
  164:    I am not sure but it seems some operation systems IPv6 implementation
  165:    may need interface index when add and delete linklocal routes.
  166: 
  167:    I have added ifindex field to specify IPv6 routes interface index. If
  168:    this index is value zero, it will ignored.
  169: 
  170: Interface information message format.
  171: 
  172: 
  173: 
  174: 
  175: 
  176: 
  177: 
  178: Ishiguro                                                FORMFEED[Page 3]
  179: 
  180: 
  181: 
  182: 
  183: 
  184: RFC DRAFT                                                     March 1998
  185: 
  186: 
  187:      0                   1                   2                   3
  188:      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  189:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  190:      |                      Interface name (20)                      |
  191:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  192:      |   Index (1)   |
  193:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  194:      |                       Inteface flag (4)                       |
  195:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  196:      |                      Inteface metric (4)                      |
  197:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  198:      |                        Inteface MTU (4)                       |
  199:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  200:      |                    Inteface Address count (4)                 |
  201:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  202: 
  203: 
  204:    Address message format.
  205: 
  206: Host inforamtion message format.
  207: 
  208: 
  209:      0                   1                   2                   3
  210:      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  211:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  212:      |IPv4 forwarding|IPv6 forwarding|
  213:      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  214: 
  215: 
  216:    Host information contain IPv4/IPv6 forwarding information.
  217: 
  218: 
  219: 
  220: 
  221: 
  222: 
  223: 
  224: 
  225: 
  226: 
  227: 
  228: 
  229: 
  230: 
  231: 
  232: 
  233: 
  234: 
  235: 
  236: 
  237: 
  238: Ishiguro                                                FORMFEED[Page 4]
  239: 
  240: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>