I have data in the following format:
# repetition, packet, route, energy level
1, 1, 1, 10.0
1, 1, 2, 12.3
1, 1, 3, 13.8
1, 2, 1, 9.2
1, 2, 2, 10
If you're using ggplot2, you'll be able to do this quite nicely with facet_wrap, which can create multiple boxplots next to each other. For example:
library(ggplot2)
mydata = data.frame(x=as.factor(rep(1:2, 5, each=5)), y=rnorm(50),
division=rep(letters[1:5], each=10))
print(ggplot(mydata, aes(x, y)) + geom_boxplot() + facet_wrap(~division))

In the case of your code, you look like you might actually want to divide by two variables (it's a little unclear). If you want to divide it by route and then by packet (as your example seems to suggest) you can use facet_grid:
print(ggplot(data, aes(repetition, energy.level)) + geom_boxplot() + facet_grid(route ~ packet))
However, note that since you have 99 packets this would end up being 99 graphs wide, so you probably want to try a different approach.