trafgen: parser: Add syntax to generate ARP header fields
commit6b845387e5bf5f2b7c584900c87ac41daa1acf36
authorVadim Kochan <vadim4j@gmail.com>
Tue, 26 Jan 2016 20:25:07 +0000 (26 22:25 +0200)
committerTobias Klauser <tklauser@distanz.ch>
Thu, 28 Jan 2016 15:30:50 +0000 (28 16:30 +0100)
tree1fcdc23e9addc14207f70d146a5f14b52c9a2dd9
parentfac5a67eb5d4928f7efbf1f0d731a7e93f0f8193
trafgen: parser: Add syntax to generate ARP header fields

Add function 'arp()' to support generating ARP header fields from
the trafgen configuration language.

Supported fields:

    htype     hardware type, default: 1 (Ethernet)
    ptype     protocol type, default: 0x0800 (IP)
    op|oper   operation (req|request, reply, <num>), default: 1 (request)
    sha|smac  sender MAC address, default: device MAC
    spa|sip   sender IP address, default: device IP
    tha|tmac  target MAC address, default: 00:00:00:00:00:00
    tpa|tip   target IP address, default: 0.0.0.0

Note: setting hlen and tlen is not supported, these will by set to
hlen=6 and plen=4 in any case.

Example usage:

    { arp(op=request, sip=1.1.1.1, smac=11:22:33:44:55:66, tip=42.42.42.42) }
    { arp() }

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
[tk: document keywords in commit message]
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
trafgen_lexer.l
trafgen_parser.y