- .pl 10.0i
- .po 0
- .ll 7.2i
- .lt 7.2i
- .nr LL 7.2i
- .nr LT 7.2i
- .ds LF Ishiguro
- .ds RF FORMFEED[Page %]
- .ds CF
- .ds LH RFC DRAFT
- .ds RH March 1998
- .ds CH
- .hy 0
- .ad l
- Network Working Group K. Ishiguro
- Request for Comments: DRAFT Digital Magic Labs, Inc.
- March 1998
- .sp 2
- .ce
- Zebra Protocol Draft
- .sp 2
- .fi
- .ne 4
- Status of this Memo
- .sp
- .in 3
- This draft is very eary beta version.
- .sp
- .in 0
- .ne 4
- Introduction
- .sp
- .in 3
- The zebra protocol is a communication protocol between kernel
- routing table manager and routing protocol daemon. It is built over
- TCP/IP protocol suite.
- .sp
- .in 0
- .ne 4
- Request message formats
- .sp
- .in 3
- zebra is TCP-based protocol.
- .sp
- Below is request packet format.
- .sp
- .in 0
- .DS
- 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) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .DE
- .sp
- .in 3
- Length is total packet length.
- .sp
- Here is summary of command list.
- .sp
- .in 0
- .DS
- 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
- .DE
- .sp
- .in 0
- .ne 4
- IPv4 reply message formats
- .sp
- .in 0
- .DS
- 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) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .DE
- .sp
- .in 3
- Type field specify route's origin type.
- .sp
- .in 0
- .DS
- 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
- .DE
- .sp
- .in 3
- 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>
- .sp
- .in 0
- .DS
- +----------------------+
- |Subnet mask (1 octet) |
- +----------------------+
- |IPv4 prefix (variable)|
- +----------------------+
- .DE
- .sp
- .in 0
- .ne 4
- IPv6 reply message formats
- .sp
- .in 0
- .DS
- 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) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .DE
- .sp
- .in 3
- Type field specify route's origin type.
- .sp
- .in 0
- .DS
- 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
- .DE
- .sp
- .in 0
- .DS
- +----------------------+
- | ifindex (4 octet) |
- +----------------------+
- | prefixlen (1 octet)|
- +----------------------+
- |IPv6 prefix (variable)|
- +----------------------+
- .DE
- .sp
- .in 3
- I am not sure but it seems some operation systems IPv6
- implementation may need interface index when add and delete
- linklocal routes.
- .sp
- I have added ifindex field to specify IPv6 routes interface
- index. If this index is value zero, it will ignored.
- .sp
- .in 0
- .ne 4
- Interface information message format.
- .sp
- .in 0
- .DS
- 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) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .DE
- .sp
- .in 3
- Address message format.
- .sp
- .in 0
- .ne 4
- Host inforamtion message format.
- .sp
- .in 0
- .DS
- 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|
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .DE
- .sp
- .in 3
- Host information contain IPv4/IPv6 forwarding information.