.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 .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.