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, 3 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







Network Working Group                                        K. Ishiguro
Request for Comments: DRAFT                     Digital Magic Labs, Inc.
                                                              March 1998


                          Zebra Protocol Draft


Status of this Memo

   This draft is very eary beta version.

Introduction

   The zebra protocol is a communication protocol between kernel routing
   table manager and routing protocol daemon. It is built over TCP/IP
   protocol suite.

Request message formats

   zebra is TCP-based protocol.

   Below is request packet format.


     0                   1                   2                   3
     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Length (2)          |   Command (1) |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Length is total packet length.

   Here is summary of command list.


     1 - ZEBRA_IPV4_ROUTE_ADD
     2 - ZEBRA_IPV4_ROUTE_DELETE
     3 - ZEBRA_IPV6_ROUTE_ADD
     4 - ZEBRA_IPV6_ROUTE_DELETE
     5 - ZEBRA_GET_ONE_INTERFACE
     6 - ZEBRA_GET_ALL_INTERFACE
     7 - ZEBRA_GET_HOSTINFO







Ishiguro                                                FORMFEED[Page 1]





RFC DRAFT                                                     March 1998


IPv4 reply message formats


     0                   1                   2                   3
     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
     +-+-+-+-+-+-+-+-+
     |    Type (1)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                            Gateway (4)                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Type field specify route's origin type.


     1 - ZEBRA_ROUTE_RESERVE
     2 - ZEBRA_ROUTE_CONNECT
     3 - ZEBRA_ROUTE_STATIC
     4 - ZEBRA_ROUTE_RIP
     5 - ZEBRA_ROUTE_RIPNG
     6 - ZEBRA_ROUTE_BGP
     7 - ZEBRA_ROUTE_RADIX


   After above message there can be variale length IPv4 prefix data.
   Each IPv4 prefix is encoded as a two tuple of the form <masklength,
   prefix>


     +----------------------+
     |Subnet mask (1 octet) |
     +----------------------+
     |IPv4 prefix (variable)|
     +----------------------+


IPv6 reply message formats














Ishiguro                                                FORMFEED[Page 2]





RFC DRAFT                                                     March 1998


     0                   1                   2                   3
     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
     +-+-+-+-+-+-+-+-+
     |    Type (1)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Gateway (16)                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Type field specify route's origin type.


     1 - ZEBRA_ROUTE_RESERVE
     2 - ZEBRA_ROUTE_CONNECT
     3 - ZEBRA_ROUTE_STATIC
     4 - ZEBRA_ROUTE_RIP
     5 - ZEBRA_ROUTE_RIPNG
     6 - ZEBRA_ROUTE_BGP
     7 - ZEBRA_ROUTE_RADIX



     +----------------------+
     |  ifindex   (4 octet) |
     +----------------------+
     |  prefixlen  (1 octet)|
     +----------------------+
     |IPv6 prefix (variable)|
     +----------------------+


   I am not sure but it seems some operation systems IPv6 implementation
   may need interface index when add and delete linklocal routes.

   I have added ifindex field to specify IPv6 routes interface index. If
   this index is value zero, it will ignored.

Interface information message format.







Ishiguro                                                FORMFEED[Page 3]





RFC DRAFT                                                     March 1998


     0                   1                   2                   3
     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Interface name (20)                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Index (1)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Inteface flag (4)                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Inteface metric (4)                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Inteface MTU (4)                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    Inteface Address count (4)                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Address message format.

Host inforamtion message format.


     0                   1                   2                   3
     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |IPv4 forwarding|IPv6 forwarding|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Host information contain IPv4/IPv6 forwarding information.





















Ishiguro                                                FORMFEED[Page 4]



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