Annotation of embedaddon/quagga/doc/draft-zebra-00.ms, revision 1.1
1.1 ! misho 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
! 15: Network Working Group K. Ishiguro
! 16: Request for Comments: DRAFT Digital Magic Labs, Inc.
! 17: March 1998
! 18: .sp 2
! 19: .ce
! 20: Zebra Protocol Draft
! 21: .sp 2
! 22: .fi
! 23: .ne 4
! 24: Status of this Memo
! 25: .sp
! 26: .in 3
! 27: This draft is very eary beta version.
! 28: .sp
! 29: .in 0
! 30: .ne 4
! 31: Introduction
! 32: .sp
! 33: .in 3
! 34: The zebra protocol is a communication protocol between kernel
! 35: routing table manager and routing protocol daemon. It is built over
! 36: TCP/IP protocol suite.
! 37: .sp
! 38: .in 0
! 39: .ne 4
! 40: Request message formats
! 41: .sp
! 42: .in 3
! 43: zebra is TCP-based protocol.
! 44: .sp
! 45: Below is request packet format.
! 46: .sp
! 47: .in 0
! 48: .DS
! 49: 0 1 2 3
! 50: 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
! 51: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 52: | Length (2) | Command (1) |
! 53: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 54: .DE
! 55: .sp
! 56: .in 3
! 57: Length is total packet length.
! 58: .sp
! 59: Here is summary of command list.
! 60: .sp
! 61: .in 0
! 62: .DS
! 63: 1 - ZEBRA_IPV4_ROUTE_ADD
! 64: 2 - ZEBRA_IPV4_ROUTE_DELETE
! 65: 3 - ZEBRA_IPV6_ROUTE_ADD
! 66: 4 - ZEBRA_IPV6_ROUTE_DELETE
! 67: 5 - ZEBRA_GET_ONE_INTERFACE
! 68: 6 - ZEBRA_GET_ALL_INTERFACE
! 69: 7 - ZEBRA_GET_HOSTINFO
! 70: .DE
! 71: .sp
! 72: .in 0
! 73: .ne 4
! 74: IPv4 reply message formats
! 75: .sp
! 76: .in 0
! 77: .DS
! 78: 0 1 2 3
! 79: 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
! 80: +-+-+-+-+-+-+-+-+
! 81: | Type (1) |
! 82: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 83: | Gateway (4) |
! 84: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 85: .DE
! 86: .sp
! 87: .in 3
! 88: Type field specify route's origin type.
! 89: .sp
! 90: .in 0
! 91: .DS
! 92: 1 - ZEBRA_ROUTE_RESERVE
! 93: 2 - ZEBRA_ROUTE_CONNECT
! 94: 3 - ZEBRA_ROUTE_STATIC
! 95: 4 - ZEBRA_ROUTE_RIP
! 96: 5 - ZEBRA_ROUTE_RIPNG
! 97: 6 - ZEBRA_ROUTE_BGP
! 98: 7 - ZEBRA_ROUTE_RADIX
! 99: .DE
! 100: .sp
! 101: .in 3
! 102: After above message there can be variale length IPv4 prefix data.
! 103: Each IPv4 prefix is encoded as a two tuple of the form <masklength,
! 104: prefix>
! 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
! 117: IPv6 reply message formats
! 118: .sp
! 119: .in 0
! 120: .DS
! 121: 0 1 2 3
! 122: 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
! 123: +-+-+-+-+-+-+-+-+
! 124: | Type (1) |
! 125: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 126: | |
! 127: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 128: | Gateway (16) |
! 129: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 130: | |
! 131: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 132: | |
! 133: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 134: .DE
! 135: .sp
! 136: .in 3
! 137: Type field specify route's origin type.
! 138: .sp
! 139: .in 0
! 140: .DS
! 141: 1 - ZEBRA_ROUTE_RESERVE
! 142: 2 - ZEBRA_ROUTE_CONNECT
! 143: 3 - ZEBRA_ROUTE_STATIC
! 144: 4 - ZEBRA_ROUTE_RIP
! 145: 5 - ZEBRA_ROUTE_RIPNG
! 146: 6 - ZEBRA_ROUTE_BGP
! 147: 7 - 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
! 162: I am not sure but it seems some operation systems IPv6
! 163: implementation may need interface index when add and delete
! 164: linklocal routes.
! 165: .sp
! 166: I have added ifindex field to specify IPv6 routes interface
! 167: index. If this index is value zero, it will ignored.
! 168: .sp
! 169: .in 0
! 170: .ne 4
! 171: Interface information message format.
! 172: .sp
! 173: .in 0
! 174: .DS
! 175: 0 1 2 3
! 176: 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
! 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
! 193: Address message format.
! 194: .sp
! 195: .in 0
! 196: .ne 4
! 197: Host inforamtion message format.
! 198: .sp
! 199: .in 0
! 200: .DS
! 201: 0 1 2 3
! 202: 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
! 203: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 204: |IPv4 forwarding|IPv6 forwarding|
! 205: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! 206: .DE
! 207: .sp
! 208: .in 3
! 209: Host information contain IPv4/IPv6 forwarding information.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>