1 2 3 4 5 6 7Network Working Group K. Ishiguro 8Request for Comments: DRAFT Digital Magic Labs, Inc. 9 March 1998 10 11 12 Zebra Protocol Draft 13 14 15Status of this Memo 16 17 This draft is very eary beta version. 18 19Introduction 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 25Request 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 58Ishiguro FORMFEED[Page 1] 59 60 61 62 63 64RFC DRAFT March 1998 65 66 67IPv4 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 103IPv6 reply message formats 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118Ishiguro FORMFEED[Page 2] 119 120 121 122 123 124RFC 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 170Interface information message format. 171 172 173 174 175 176 177 178Ishiguro FORMFEED[Page 3] 179 180 181 182 183 184RFC 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 206Host 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 238Ishiguro FORMFEED[Page 4] 239 240 241