1.pl 10.0i 2.po 0 3.ll 7.2i 4.lt 7.2i 5.nr LL 7.2i 6.nr LT 7.2i 7.ds LF Ishiguro 8.ds RF FORMFEED[Page %] 9.ds CF 10.ds LH RFC DRAFT 11.ds RH March 1998 12.ds CH 13.hy 0 14.ad l 15Network Working Group K. Ishiguro 16Request for Comments: DRAFT Digital Magic Labs, Inc. 17 March 1998 18.sp 2 19.ce 20Zebra Protocol Draft 21.sp 2 22.fi 23.ne 4 24Status of this Memo 25.sp 26.in 3 27This draft is very eary beta version. 28.sp 29.in 0 30.ne 4 31Introduction 32.sp 33.in 3 34The zebra protocol is a communication protocol between kernel 35routing table manager and routing protocol daemon. It is built over 36TCP/IP protocol suite. 37.sp 38.in 0 39.ne 4 40Request message formats 41.sp 42.in 3 43zebra is TCP-based protocol. 44.sp 45Below is request packet format. 46.sp 47.in 0 48.DS 490 1 2 3 500 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 51+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 52| Length (2) | Command (1) | 53+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 54.DE 55.sp 56.in 3 57Length is total packet length. 58.sp 59Here is summary of command list. 60.sp 61.in 0 62.DS 631 - ZEBRA_IPV4_ROUTE_ADD 642 - ZEBRA_IPV4_ROUTE_DELETE 653 - ZEBRA_IPV6_ROUTE_ADD 664 - ZEBRA_IPV6_ROUTE_DELETE 675 - ZEBRA_GET_ONE_INTERFACE 686 - ZEBRA_GET_ALL_INTERFACE 697 - ZEBRA_GET_HOSTINFO 70.DE 71.sp 72.in 0 73.ne 4 74IPv4 reply message formats 75.sp 76.in 0 77.DS 780 1 2 3 790 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 80+-+-+-+-+-+-+-+-+ 81| Type (1) | 82+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 83| Gateway (4) | 84+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 85.DE 86.sp 87.in 3 88Type field specify route's origin type. 89.sp 90.in 0 91.DS 921 - ZEBRA_ROUTE_RESERVE 932 - ZEBRA_ROUTE_CONNECT 943 - ZEBRA_ROUTE_STATIC 954 - ZEBRA_ROUTE_RIP 965 - ZEBRA_ROUTE_RIPNG 976 - ZEBRA_ROUTE_BGP 987 - ZEBRA_ROUTE_RADIX 99.DE 100.sp 101.in 3 102After above message there can be variale length IPv4 prefix data. 103Each IPv4 prefix is encoded as a two tuple of the form <masklength, 104prefix> 105.sp 106.in 0 107.DS 108+----------------------+ 109|Subnet mask (1 octet) | 110+----------------------+ 111|IPv4 prefix (variable)| 112+----------------------+ 113.DE 114.sp 115.in 0 116.ne 4 117IPv6 reply message formats 118.sp 119.in 0 120.DS 1210 1 2 3 1220 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 123+-+-+-+-+-+-+-+-+ 124| Type (1) | 125+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 126| | 127+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 128| Gateway (16) | 129+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 130| | 131+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132| | 133+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 134.DE 135.sp 136.in 3 137Type field specify route's origin type. 138.sp 139.in 0 140.DS 1411 - ZEBRA_ROUTE_RESERVE 1422 - ZEBRA_ROUTE_CONNECT 1433 - ZEBRA_ROUTE_STATIC 1444 - ZEBRA_ROUTE_RIP 1455 - ZEBRA_ROUTE_RIPNG 1466 - ZEBRA_ROUTE_BGP 1477 - ZEBRA_ROUTE_RADIX 148.DE 149.sp 150.in 0 151.DS 152+----------------------+ 153| ifindex (4 octet) | 154+----------------------+ 155| prefixlen (1 octet)| 156+----------------------+ 157|IPv6 prefix (variable)| 158+----------------------+ 159.DE 160.sp 161.in 3 162I am not sure but it seems some operation systems IPv6 163implementation may need interface index when add and delete 164linklocal routes. 165.sp 166I have added ifindex field to specify IPv6 routes interface 167index. If this index is value zero, it will ignored. 168.sp 169.in 0 170.ne 4 171Interface information message format. 172.sp 173.in 0 174.DS 1750 1 2 3 1760 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 177+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 178| Interface name (20) | 179+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 180| Index (1) | 181+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 182| Inteface flag (4) | 183+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 184| Inteface metric (4) | 185+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 186| Inteface MTU (4) | 187+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 188| Inteface Address count (4) | 189+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 190.DE 191.sp 192.in 3 193Address message format. 194.sp 195.in 0 196.ne 4 197Host inforamtion message format. 198.sp 199.in 0 200.DS 2010 1 2 3 2020 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 203+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 204|IPv4 forwarding|IPv6 forwarding| 205+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 206.DE 207.sp 208.in 3 209Host information contain IPv4/IPv6 forwarding information. 210